【问题标题】:React DRF Select All the Options in the ManytoMany field by defaultReact DRF 默认选择多对多字段中的所有选项
【发布时间】:2021-04-10 16:12:25
【问题描述】:

我正在使用 React 和 DRF 开展一个项目,目前我的模型如下:

class Author(models.Model):
    author_name = models.Charfield(max_length = 15)
    
class Books(models.Model):
    book_name = models.CharField(max_length = 15)
    authors = models.ManytoManyField(Author)

我的模型设置正确,并且能够正确地将数据发送到后端。但是,我需要的是 - 默认情况下要选择 ManytoManyfield 中的所有选项。目前,该选项显示在 ManytoMany 字段中,但未选中。我不知道该怎么做。我已经经历了这个question,但我仍然不清楚这一点。请指导我如何做到这一点。提前感谢您的时间。

【问题讨论】:

  • “默认全选”是什么意思?期望的输出是什么?
  • 嗨,汤姆。感谢您的关注。我所说的“默认全选”的意思是,假设有六个作者映射到这本书,我希望所有作者都被选中。类似于按住命令按钮并在 Django 管理面板上手动选择所有作者。是否有任何属性可以满足 Multiselect = true。
  • 但是你想让 DRF 返回那个还是在 django admin 中?
  • 我在 Django Admin 中需要它

标签: django django-rest-framework many-to-many


【解决方案1】:

默认试试:

models.py

class Author(models.Model):
    author_name = models.Charfield(max_length = 15)

def allAuthor():
    authorList = Author.objects.all()
    return authorList

class Books(models.Model):
    book_name = models.CharField(max_length = 15)
    authors = models.ManytoManyField(Author,default=allAuthor)

【讨论】:

  • 谢谢,普拉迪普。我尝试了这种方法,但没有解决目的。有没有其他可能解决这个问题?
  • @Prashant 它会在 Book 表中创建新数据时完美运行..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-20
  • 2019-01-21
  • 1970-01-01
  • 2014-12-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多