Python 表示此图像django模型

Python 表示此图像django模型,python,django,model,Python,Django,Model,我正试图建立一个多选择问题应用程序,其中包含部门->主题->问题关系,但我不知道如何获得与给定主题相关的问题,就像我发布的图片一样 from django.db import models from smart_selects.db_fields import ChainedForeignKey from django.template.defaultfilters import truncatewords_html class Exam(models.Model): exam_na

我正试图建立一个多选择问题应用程序,其中包含部门->主题->问题关系,但我不知道如何获得与给定主题相关的问题,就像我发布的图片一样

from django.db import models
from smart_selects.db_fields import ChainedForeignKey
from django.template.defaultfilters import truncatewords_html


class Exam(models.Model):
    exam_name = models.CharField(max_length=20)
    def __str__(self):
        return self.exam_name

class Year(models.Model):
    year = models.CharField(max_length=4, blank=True)

    class Meta:
        ordering = ("year",)

    def __str__(self):
        return self.year

class Department(models.Model):
    department=models.CharField(max_length=100, blank=True, verbose_name=("department"))
    def __str__(self):
        return self.department

class Subject(models.Model):
    department  = models.ForeignKey(Department, on_delete=models.CASCADE)
    subject     = models.CharField(max_length=36)

    def __str__(self):
        return self.subject

class Question(models.Model):
    exam_name   = models.ForeignKey(
        Exam,
        on_delete=models.CASCADE
        )
    year        = models.ForeignKey(
        Year,
        blank=True,
        on_delete=models.CASCADE
        )
    department  = models.ForeignKey(
        Department,
        blank= True,
        on_delete=models.CASCADE
        )
    subject     = ChainedForeignKey(
        Subject,
        chained_field="department",
        chained_model_field="department",
        auto_choose = True,
        related_name='question',
        on_delete=models.CASCADE
        ) 
    question = models.TextField(blank=False)

    def __str__(self):
        return '{} >>> {}'.format(self.question, self.subject.subject)

class Answer(models.Model):
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    content  = models.CharField(max_length=500)
    answer   = models.BooleanField(blank=False, default=False)`

上图是我想要的问题区域,用户可以浏览主题的每个选项卡,回答问题,或者根据页码选择问题。

您的问题似乎很模糊。您能否在models.py文件中发布代码,以及您是如何设计模型的?一个主题应该包含多个问题吗?这是一个外键关系。。。因此,请向我们展示您的主题模型和问题模型,以及您如何尝试将它们联系起来。。(我们可以试着对此发表评论;)@mekanik我已经添加了创建模板模型的尝试。你能详细说明主题和部门之间的关系吗?我不知道ChainedForeignKey这个东西(我可以猜出来;)-也许你可以先尝试构建一个只包含主题的简单应用程序(没有部门…)。这肯定有助于形成一个更清晰的问题。每个部门都有一套相关的主题,我正在使用django smart select处理部门与主题之间的关系,效果很好。我的问题是现在要提问的主题以及如何添加答案表单。