【发布时间】:2014-05-27 01:31:06
【问题描述】:
我需要一些帮助来解决一个非常简单的问题(解释起来很简单,但不是为我解决)
我在 Django 中有以下模型:
class ClassGroup(models.Model):
group = models.CharField(_('group'), max_length=3)
course = models.ForeignKey(Course,
related_name='classgroups',
related_query_name='classgroup',
verbose_name=_('course'))
students = models.ManyToManyField(Actor,
related_name='student_classgroups',
related_query_name='student_classgroup',
verbose_name=_('student'))
lecturers = models.ManyToManyField(Actor,
related_name='lecturer_classgroups',
related_query_name='lecturer_classgroup',
verbose_name=_('lecturer'))
class Meta:
verbose_name = _('class group')
verbose_name_plural = _('class groups')
unique_together = ('group', 'course')
我需要添加一个约束,以防止 Actor 在每个 ClassGroup 中同时成为学生和讲师。是否可以在模型级别添加这样的约束?如果可能的话,我想避免上层基于表单/视图的解决方案。
非常感谢!
【问题讨论】:
标签: django model many-to-many constraints unique