3

我正在写一个网站来托管一所大学的在线教育材料。我正在使用以下数据模型:

class Department(models.Model):
    #snip - remaining fields involve department names, acronyms, etc.

class Course(models.Model):
    department = models.ForeignKey(Department)
    #snip

class Resource(models.Model):
    # generic class for course syllabuses, exams, homework, and other documents
    course = models.ForeignKey(Course)

class Syllabus(Resource):
    #snip - fields for titles, URLs, and the like

class Homework(Resource):
    #snip - similar fields to above

# and other similar subclasses

每个资源子类(教学大纲、家庭作业等)都通过基础 Resource 类中的 Course 外键与一门课程相关联。我想为 Syllabus 子类强制外键的唯一性(即每门课程只允许一个教学大纲),而不是其他子类,并保持类层次结构完整。

我尝试四处寻找解决方案,但我找不到任何看起来很有希望的东西,尽管这可能是我缺乏 Django 经验的阻碍。我将不胜感激任何快速帮助。

4

1 回答 1

0

使用这个怎么样:一对一的关系

于 2012-12-09T09:50:24.447 回答