我是Django的新手,我很难绕过如何处理"嵌套"模板中的表单以及如何相应地处理这些表单。我正在创建类似于教程的轮询应用程序,但更复杂。我有多个模型(民意调查,问题,选择,投票)。民意调查包含许多问题,一个问题包含许多选择。
我希望允许用户一次查看民意调查中的所有问题,并通过从每个问题的选择集中选择一个选项来对每个问题进行投票。在用户为每个问题选择一个选项后,他们立即提交所有投票并处理它们以创建投票对象。
我真的很想知道如何做到这一点。任何帮助将不胜感激。
以下是我的模型设置方式:
models.py
class Poll(models.Model):
name = models.CharField(max_length=255, default="Unnamed Poll")
key = models.CharField(max_length=16, blank=True, editable=False, unique=True, db_index=True, null=True)
instructor = models.ForeignKey(User)
course = models.ForeignKey(Course)
active = models.BooleanField(default=False)
anonymous = models.BooleanField(default=True, help_text="Allow votes to be anonymous?")
class Question(models.Model):
question_text = models.CharField(max_length=255, verbose_name='Poll Question')
poll = models.ForeignKey(Poll)
class Choice(models.Model):
question = models.ForeignKey(Question)
choice_text = models.CharField(max_length=255, verbose_name='Response Choice')
class Vote(models.Model):
question = models.ForeignKey(Question)
choice = models.ForeignKey(Choice)
student = models.ForeignKey(User)