代表此图像Django模型

时间:2018-12-25 10:27:17

标签: python django model

enter image description here

我正在尝试使用Department-> subject-> Question Relations构建一个选择题应用程序,但是我对如何获得与给定主题相关的问题感到困惑,就像我发布的图像一样。

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)`

上面的图像是我希望问题区域类似的内容,用户可以导航主题的每个选项卡并回答问题,或者根据分页中的数字选择问题。

0 个答案:

没有答案