Django ModelFormset使用特定的ModelForm而不是自动生成的ModelForm

时间:2010-11-12 17:21:29

标签: django django-forms

如何使用特定的ModelForm作为我的modelformset_factory的表单?

我正在使用django-form-utilities来拥有一个BetterModelForm,我想使用相同的表单作为我的formset的基础。我以为我可以编写自己的自定义工厂来扩展formset,但我猜测有一种更简单的方法

1 个答案:

答案 0 :(得分:6)

无需扩展原生modelformset_factory()。在django的源代码中查看此函数的定义:

def modelformset_factory(model, form=ModelForm, formfield_callback=None,
    formset=BaseModelFormSet,
    extra=1, can_delete=False, can_order=False,
    max_num=None, fields=None, exclude=None)

您可以通过form参数传递自定义模型,但不能传递实际实例 - 您需要传递表单ref本身,因此请使用ie。 MyModelForm发布了MyModelForm()。