Django m2m field symmetrical to another m2m field
我想在两个不同的m2m字段之间建立自动的关系绑定。这是我所需的工作流程的一个示例:
不幸的是,这不是那么简单,我什么也没想出来。我尝试将"对称"设置为" True",但这只是造成不必要的循环("绿色"不是"颜色"的父项!)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | # 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 ) |
感谢您的帮助。
我相信您想要做的事情可以通过一个M2M关系来完成。查看对称文件。如果定义一个非对称字段,则可以使用
1 2 3 4 5 6 7 8 9 10 11 12 13 | class Tag(models.Model): name = models.TextField() children = models.ManyToManyField( 'self', blank=True, related_name="parents", symmetrical=False ) green = Tag.objects.create(name='green') color = Tag.objects.create(name='color') color.children.add(green) color in green.parents.all() # True |