Lorsque vous avez une relation plusieurs à plusieurs (related_name
, pas through
) et que vous essayez d'utiliser l'interface d'administration, vous devez entrer l'une des relations même s'il n'est pas nécessaire qu'elle existe pour que vous puissiez créer la première entrée.
Je crée une application qui est un organisateur d'événement. Imaginons que nous ayons des modèles Event
et Group
, liés par une relation plusieurs à plusieurs.
Django related_name
crée une autre table avec les index des deux autres tables.
Mais je ne vois aucune raison pour laquelle cette table supplémentaire a soit remplie.
Si je travaille avec la base de données via phpMyAdmin, je peux créer un Group
sans enregistrer un Event
, car la connexion entre les deux se fait uniquement via une table séparée, et il n'y a aucune application de valeur de base de données à une date donnée. niveau.
Comment puis-je faire en sorte que l'interface d'administration le réalise?
Comment rendre facultatif le champ plusieurs-à-plusieurs dans Django?
Si vous voulez pouvoir spécifier la relation de ManyToMany sans la rendre obligatoire, utilisez simplement blank=True
:
class Group(models.Model):
...
events = models.ManyToManyField(Event, blank=True)