2011-01-10 87 views
0

我正在尝试为以下情形创建一个Django模型:如何在Django中创建相关模型关系

有几个俱乐部。每个俱乐部都有一名领导和几名成员。领导也是会员。

这些都是我的模型至今:

class Club(models.Model): 
    name = models.CharField(max_length=50) 
    leader = models.ForeignKey('Member', related_name='+') 
class Member(models.Model): 
    name = models.CharField(max_length=50) 
    club = models.ForeignKey(Club) 

在管理界面中,我无法不先做出一个俱乐部添加成员,但我不能让一个俱乐部,而无需创建一个成员指定作为领导者。我尝试将Blank = True添加到领导者ForeignKey关系中,但它仍然不起作用。

我应该如何为这种情况创建模型?

提前致谢!

回答

1

创建ClubLeader模型类,并将列作为俱乐部的外键和成为领导者的成员。为该表格中的Club + Member ID强化唯一性,确保您没有多位领导。从俱乐部班级中删除“领导者”。

而且,我也不会加入任何俱乐部,将有像我这样的一个成员(格劳乔·马克斯)

0

欲了解更多信息,空白=真并不意味着在数据库中的字段可以为空。这只意味着当使用ModelForm时(或者只是管理员 - 或者/),表单字段可以是空白的。你想要的是一个blank=True, null=True。这允许空值和/ admin面板中的空白值。

虽然我仍然会与Spacedman的回答。提供一个单独的表格,位于“中间”。这样,你强制成员必须属于一个俱乐部。