【发布时间】:2018-07-10 12:09:47
【问题描述】:
我有下一个模型(我只留下了与问题相关的列):
class Student(models.Model):
student_examin = models.ManyToMany("Examin",
verbose_name=u"Examin",
blank=True,
null=True,
on_delete=models.SET_NULL,
through="ExaminResult")
student_group = models.ForeignKey("Group",
verbose_name=u"Група",
blank=False,
null=True,
on_delete=models.PROTECT)
class Examin(models.Model):
examin_group = models.OneToOne("Group",
verbose_name=u"Група",
blank=False,
null=True,
on_delete=models.CASCADE)
class ExaminResult(models.Model):
student = models.ForeignKey("Student",
verbose_name=u"Студент",
blank=False,
null=False,
on_delete=models.CASCADE)
examin = models.ForeignKey("Examin",
verbose_name=u"Екзамін",
blank=False,
null=False,
on_delete=models.CASCADE)
所以我有 Student 模型,它有一个 Group 和许多 Examin。我有一个针对特定 Group 的 Examin 模型。我有连接表 ExaminResult 将学生与他们的考试联系起来(稍后我将在此处添加成绩列)。我的问题是如何向表 ExaminResult 添加约束,以便将学生添加到同一组的考试中(以便此表中的学生和考试具有对同一组模型的引用)。这样可以防止学生被添加到不同组的考试中。
【问题讨论】:
标签: django django-models many-to-many