Je voudrais avoir une liaison automatique entre deux champs m2m différents. Voici un exemple de mon souhaité flux de travail:Django m2m champ symétrique à un autre champ m2m
- créer une marque « verte »
- créer une marque « Couleurs » et marquer « vert » comme un enfant
- maintenant, quand je vais revenir à « Green "panneau de balise, il doit avoir" Couleurs "entre les parents
Malheureusement, ce n'est pas si simple et je ne peux rien trouver. J'ai essayé de mettre symétrique à vrai, mais il est juste faire boucle inutile (« Green » est pas un parent à « Couleurs »!)
# my models.py
class Tag(models.Model):
...
children = models.ManyToManyField(
'self',
blank=True,
related_name="kids",
symmetrical=False
)
parents = models.ManyToManyField(
'self',
blank=True,
related_name="folks",
symmetrical=False
)
Merci pour l'aide.
Si vous faites référence le panneau d'administration de django vous pouvez ajouter une balise à ce sujet. Ce n'est pas un problème M2M. – dmg
Merci, donc je l'ai fait. Mais toujours pas de chance:/ – gwaramadze
Hmm, peut-être que vous devriez regarder dans les formes et la façon de créer des formulaires personnalisés (peut-être étendre ModelForm). Quoi qu'il en soit, les deux M2M sont faux. Ils représentent la même chose. Si vous n'en avez besoin que pour le panneau d'administration, vous pouvez essayer d'ajouter un nouveau modèle 'Parentship' avec 2 clés étrangères à' Tag 'et modifier ces relations là. – dmg