Django模型选择建议(特定设置)

时间:2012-07-13 02:42:09

标签: django model choicefield

我正在寻求某些模型之间选择设置的建议。一种模型中可能的选择取决于先前选择的另一种模型。

我有一个产品,我想迎合两个独立的观众,特别是本科生和同等学位的学生。我正在跟踪学校,他们的学年和这些学校的课程。在这种情况下,学生必须是新生,二年级,初中,高级或其他,如果他们是本科生,如果他们是研究生,则必须是第一,第二,第三,第四年或其他。我的问题是如何最好地设置外键选择,以便当他们的学校特别是类型为“本科”或“毕业”时,这反映在他们的年份选择中,以便他们被限制为特定于他们的学校类型的那些选择,如前所述。一些示例模型:

class StudentType(models.Model):
    STUDENT_TYPE_CHOICES = (
        ('graduate', 'Graduate'),
        ('undergrad', 'Undergraduate'),
    )
    name = models.CharField(max_length=100, choices=STUDENT_TYPE_CHOICES)


class School(models.Model):
    name = models.CharField(max_length=100, unique=True)
    student_type = models.ForeignKey(StudentType)


class Year(models.Model):
    name = models.CharField(max_length=100, choices=????)
    school = models.ForeignKey(School, related_name="years")

我希望填写年份模型名称列的choices参数。如前所述,该参数取决于模型的学校。这有可能吗?我应该简单地将所有选择(即本科和研究生选择)结合起来吗?

0 个答案:

没有答案