Я пытаюсь создать приложение с несколькими выборами вопросов с отношениями Отдел -> Субъект -> Вопросы, но я не понимаю, как получить вопросы относительно заданноготемы так же, как изображение, которое я опубликовал.
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)`
На изображении выше я хочу, чтобы область вопросов была похожа на то, что пользователь может перемещаться по каждой вкладке темы и отвечать на вопросы или выбирать вопросы в соответствии с числом впагинация.