0
在Django我有两个型号Post
和Tag
。我有一个ManyToManyField
他们每个人都指向另一个。但是,当我添加新的Post
并提供一些标记时,只有post -> tag
关系记录在数据库中。我必须手动添加tag -> post
关系。Django的许多一对多的关系对称不同类型
有没有办法让Django的自动做到这一点?
在Django我有两个型号Post
和Tag
。我有一个ManyToManyField
他们每个人都指向另一个。但是,当我添加新的Post
并提供一些标记时,只有post -> tag
关系记录在数据库中。我必须手动添加tag -> post
关系。Django的许多一对多的关系对称不同类型
有没有办法让Django的自动做到这一点?
您也可以参考在ManyToManyField
使用related_name
。它更清晰,更易于理解。
class Post(models.Model):
tag = models.ManyToManyField(Tag, related_name="post")
那么你通过 tag.post.all()
使用它你为什么要在这两种模式中定义的多到多场?这听起来不对。你只需要在一个(可能是'Post'模型)上定义它,并且根据定义,这种关系是双向的。 – solarissmoke
啊我明白了。我没有意识到我可以通过做tag.post_set.all()来查询帖子。 – zrbecker