当关系包含属性时,如何在django中实现多对多关系?
我是django的begginer,我知道可以使用ManyToManyField链接两个模型,比如作者发布用户组。 所以我在UML中有这个关系 如何在代码中实现这一点? 我的镜头是这样的当关系包含属性时,如何在django中实现多对多关系?,django,django-models,many-to-many,uml,Django,Django Models,Many To Many,Uml,我是django的begginer,我知道可以使用ManyToManyField链接两个模型,比如作者发布用户组。 所以我在UML中有这个关系 如何在代码中实现这一点? 我的镜头是这样的 class User(models.Model): # user fields class Group(models.Model): # group fields class GroupMember(models.Model): group = models.ForeignKey(Grou
class User(models.Model):
# user fields
class Group(models.Model):
# group fields
class GroupMember(models.Model):
group = models.ForeignKey(Group, on_delete=models.DO_NOTHING, db_index=True)
user = models.ForeignKey(User, on_delete=models.DO_NOTHING, db_index=True)
IsAdmin = models.BooleanField(default=False, verbose_name='Est un admin')
class Meta:
unique_together = (("group", "user"),)
我想使用许多字段,这样我可以在它们之间引用(如果我没有IsAdmin字段,我就不必创建第三类“GroupMember”)您可以从官方文档中找到示例: 中间模型与ManyToManyField关联,使用 至参数指向将用作 中间人 模型中的组类应如下所示:
class Group(models.Model):
# group fields
# ...
users = models.ManyToManyField(User, through='GroupMember')