我有Django模型,其中包含许多用户必须填写的字段。如果我为这个模型创建一个ModelForm,它对于一个表单来说足够大了。我想用FormWizard拆分它。我认为首先可以动态创建表单,然后使用它们创建FormWizard。
这是好方法还是有更好的方法?
答案 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
最终,您也可以通过这种方式对模型进行参数化。