0

我正在尝试从一个具有 9 个字段的 Django 模型构建多步骤表单。表格在每个步骤中都经过验证,并在最后一步后保存到数据库中。

除了 Django formWizard,我能想到的快速解决方案是

我有一个这样的 Django 模型:

class Question(models.Model):
    name = models.CharField(max_length=100)
    Description = models.TextField()
    filter = models.CharField(max_length=20)

我把表格分成三份

class Filter(forms.ModelForm):
    class Meta:
        model = Question
        exclude = ('filter',)


class Name(forms.ModelForm):
    class Meta:
        model = Question
        fields = ('name',)


class Descripton(forms.ModelForm):
    class Meta:
        model = Question
        fields = ('description',)

为不同的步骤编写urls和集成。views问题是如何在最后一步验证和保存多步骤表单数据?

4

1 回答 1

2

您将其分为三个步骤而不是一个步骤的用例是什么?

除此之外,一个简单的解决方案是:

  1. 每次提交后清理/验证部分数据。
  2. 将隐藏字段中的部分数据发送回模板以进行后续步骤(也许 Name 可以使用 Filter 继承或初始化,与 Name 中的 Description 相同)。
  3. 然后在最终提交时,您将拥有所有以前的数据(一些在隐藏字段中),因此您可以将其全部保存到数据库中。
于 2014-07-07T12:30:44.127 回答