0

I am trying to build a multi-step forms from one Django model which have 9 fields. The forms are validated in each step and saved after final step into database.

The quick solution I can think of beside Django formWizard is

I have a django model like this:

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

I split the form into three

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',)

Write urls and integrate with views for different steps. The question is how can I validate and save multi-steps forms data at last step?

4

1 に答える 1

2

これを 1 つのステップではなく 3 つのステップに分割するユースケースは何ですか?

それはさておき、簡単な解決策は次のとおりです。

  1. 各送信後に部分データを消去/検証します。
  2. 後続のステップのために、非表示フィールドの部分的なデータをテンプレートに送り返します (おそらく Name は、Name を取得する Description と同じように、Filter を使用して継承または初期化できます)。
  3. その後、最終的な送信時に、以前のすべてのデータ (一部は非表示フィールドにある) があるため、すべてをデータベースに保存できます。
于 2014-07-07T12:30:44.127 に答える