【发布时间】:2016-09-09 20:43:05
【问题描述】:
我试图在组成员和他们所属的组之间建立双向关系。
更具体地说,我想像这样建模:
class Member(models.Model):
name = models.CharField(max_length=50)
my_group = models.ForeignKey('Group')
#leader = models.BooleanField()
class Group(models.Model):
name = models.CharField(max_length=50)
leader = models.ForeignKey('Member')
所以我希望每个成员都链接到一个组。但是每个小组都应该有一个领导者。我通常会添加一个“领导者”属性来为组分配领导者或添加额外的模型/表。但是,我希望能够从 Django Admin 界面中特定组的成员列表中选择领导者,上述尝试当然会导致错误,因为这两个模型相互引用。
这是错误:
ERRORS: app1.Group.leader: (fields.E303) Reverse query name for 'Group.leader' clashes with field name 'Member.my_group'. HINT: Rename field 'Member.my_group', or add/change a related_name argument to the definition for field 'Group.leader'
实现这一目标的最佳方法是什么?
【问题讨论】:
-
一个用户可以属于多个组吗?
-
你用的是什么版本的django?
-
没有一个用户只能在一个组中。我正在使用 Django 1.10.1