How do I make many-to-many field optional in Django?

笑着哭i 提交于 2019-11-30 10:26:50

问题


When you have a many-to-many relationship (related_name, not through) and you are trying to use the admin interface you are required to enter one of the relationships even though it does not have to exist for you to create the first entry.

I'm creating an app that is an event organizer. Imagine we had Event and Group models, bound with many-to-many relationship.

Django related_name creates another table with the indices of the two other tables.
But I see no reason why this extra table has to be populated.

If I work with the database through phpMyAdmin I can create a Group without registering an Event, since the connection between the two is only through a separate table, and there is no database value enforcement at given level.

How do I make the admin interface this realize it?
How do I make the many-to-many field optional in Django?


回答1:


If you want to be able to specify ManyToMany relation without making it required just use blank=True:

class Group(models.Model):
    ...
    events = models.ManyToManyField(Event, blank=True)


来源:https://stackoverflow.com/questions/2529472/how-do-i-make-many-to-many-field-optional-in-django

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!