如何为一个模型创建Django FormWizard?

时间:2009-11-08 20:41:18

标签: python django django-forms formwizard

我有Django模型,其中包含许多用户必须填写的字段。如果我为这个模型创建一个ModelForm,它对于一个表单来说足够大了。我想用FormWizard拆分它。我认为首先可以动态创建表单,然后使用它们创建FormWizard。

这是好方法还是有更好的方法?

1 个答案:

答案 0 :(得分:2)

对我来说似乎很好。

创建部分表单的方法写在docs.

简而言之:

class PartialAuthorForm(ModelForm):
    class Meta:
        model = Author
        fields = ('name', 'title')

class PartialAuthorForm(ModelForm):
    class Meta:
        model = Author
        exclude = ('birth_date',)

这样做的动态方式是:

def gimme_my_form(field_tuple):
    class MyForm(ModelForm):
        class Meta:
            model = MyModel
            fields = field_tuple
    return MyForm

最终,您也可以通过这种方式对模型进行参数化。