我一直在尝试为我想要实现的目标提出解决方案。作为自学 django 的一部分,我正在尝试为我的武术俱乐部创建一个俱乐部会员网站。作为其中一个应用程序的一部分,我提出了两类模型;会员和学校。
这个想法是让成员使用 ForeignKey 引用他们所属的学校,并让学校引用成员来识别教师。讲师只是一个普通的成员,带有一个布尔字段来识别他们是否是讲师。
我只是不断地遇到一个又一个的问题,我正在一个接一个地解决这个问题,但我想知道我一开始所做的是否是最有效的方法。
下面是 Members 模型的那部分目前的样子:
instructor = models.BooleanField('Instructor?', default=False)
school = models.ForeignKey('School')
这是学校班级的样子:
class School(models.Model):
SCHOOL_CHOICES = (
('RED', 'Redruth - Centre of Excellence'),
('FAL', 'Falmouth - FXU'),
('MEV', 'Mevagissey'),
)
name = models.CharField(max_length=3, choices=SCHOOL_CHOICES, default='RED')
instructors = models.ForeignKey('Student', related_name='instructors', blank=True, null=True)
我不得不将related_name 添加到讲师ForeignKey,因为没有它会引发错误。我还尝试在成员模型中向学校 ForeignKey 添加一个 to_field,因为目前它只显示三个“学校对象”副本,但这似乎并没有改变它(编辑:使用unicode定义修复)。
我这样做的方式(两个类使用 ForeignKeys 相互引用)是最好的方式,还是我应该做其他事情?
抱歉这么含糊:/