当您有一个多对多关系(related_name, not through)并且您尝试使用管理界面时,您需要输入其中一个关系,即使它不必存在以便您创建第一个条目。
related_name
through
我正在创建一个作为活动组织者的应用程序。想象一下,我们有Event和Group模型,绑定了多对多的关系。
Event
Group
Djangorelated_name使用另外两个表的索引创建另一个表。 但是我看不出为什么必须填充这个额外的 表 。
如果我通过 phpMyAdmin 使用数据库,则Group无需注册即可创建 a Event,因为两者之间的连接仅通过单独的表进行,并且在给定级别没有数据库值强制执行。
如何使管理界面实现它? 如何在 Django 中使多对多字段成为可选字段?
如果您希望能够指定 ManyToMany 关系而不使其成为必需,只需使用blank=True:
blank=True
class Group(models.Model): ... events = models.ManyToManyField(Event, blank=True)