【发布时间】:2021-04-15 20:40:24
【问题描述】:
我有一个名为Assignment 的模型。每个作业可以包含多个不同类型的问题。也就是说,作业可以有多项选择题、作文题、对错题。
每种问题类型都有自己的模型。当然,它们与ForeignKey的分配有关。
我怎样才能将它们与作业相关联,以便获得所有(不同类型的)问题,例如,我只需致电:
assignment1.questions.all()
我看过一些关于 GenericForeignKey、ContentType 等内容的文章,但我还没有让它们发挥作用。
像这样:
class Assignment(models.Model):
# ...assignment fields
class MultipleChoiceQuestion(models.Model):
assignment = models.ForeignKey(Assignment)
class TrueOrFalseQuestion(models.Model):
assignment = models.ForeignKey(Assignment)
class EssayQuestion(models.Model):
assignment = models.ForeignKey(Assignment)
所以,我可以通过执行assignment1.questions.all() 来获取分配实例的所有问题,例如,如上所述
【问题讨论】:
-
你能发布你的模型吗?
-
另外,这是否回答了您的问题:stackoverflow.com/questions/60920941/… ?
-
也许您正在寻找具有显式直通字段的多对多关系:docs.djangoproject.com/en/3.1/ref/models/fields/…。
标签: django django-models django-rest-framework django-views django-forms