3

大学向けのオンライン教材をホストする Web サイトを作成しています。次のデータモデルを使用しています。

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 外部キーを介して 1 つのコースに関連付けられます。シラバス サブクラスの外部キーの一意性を強制したい (つまり、コースごとに 1 つのシラバスのみを許可する) が、他のサブクラスには適用せず、クラス階層をそのまま維持したい。

解決策を探してみましたが、私の Django の経験不足が邪魔をしている可能性もありますが、有望と思われるものは見つかりませんでした。迅速な助けをいただければ幸いです。

4

1 に答える 1

0

これを使ってみませんか : 1 対 1 の関係

于 2012-12-09T09:50:24.447 に答える