【问题标题】:Working with multiple forms on a single page in Django在 Django 的单个页面上处理多个表单
【发布时间】:2015-01-30 14:38:59
【问题描述】:

我是 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)

【问题讨论】:

  • 除了models.py之外,你能否展示你为实现你想要做的事情而编写的代码?

标签: django python-2.7 django-forms django-1.7


【解决方案1】:

您应该在您的情况下使用 django.forms.Formsets。阅读有关表单集的信息here

请发表评论以要求进一步澄清。

干杯:-)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-14
    • 1970-01-01
    • 2021-04-14
    • 2021-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多