我是 Django CBV 的新手,我正在尝试正确使用它。
我想让用户创建一个测验,用户选择一个主题、一个级别和一个主题以及基于这些选择,我从数据库中抽取 10 个问题并用它创建测验。因此,用户会看到一个包含 3 个选择字段的表单,但实际上该模型包含更多字段。
我使用基于测验的 ModelForm 并排除了一些字段。问题是一旦用户选择了一个主题、一个级别和一个章节并在之后保存它们,我不知道如何绘制问题。
这是测验模型:
class Quizz(models.Model):
user = models.ForeignKey(User)
date_started = models.DateTimeField('date started')
questions = models.ManyToManyField(Question, through = 'QuestionStatus')
level = models.ForeignKey(Level, null = True)
subject = models.ForeignKey(Subject, null = True)
chapter = models.ForeignKey(Chapter, null = True)
grade = models.IntegerField(default = 0)
finished = models.BooleanField(default = False)
表格 :
class QuizzCreateForm(forms.ModelForm):
class Meta:
model = Quizz
fields = ('subject', 'level', 'chapter')
和观点:
class QuizzCreate(CreateView):
model = Quizz
form_class = QuizzCreateForm
谢谢您的帮助