代码之家  ›  专栏  ›  技术社区  ›  Clayton

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

  •  0
  • Clayton  · 技术社区  · 14 年前

    如何使用特定的ModelForm作为modelformset工厂的表单?

    我正在使用django表单实用程序来获得一个更好的modelform,并且我希望使用相同的表单作为我的表单集的基础。我以为我可以编写自己的自定义工厂来扩展formset,但我想有一种更简单的方法

    1 回复  |  直到 14 年前
        1
  •  6
  •   bx2 rsrajesh    14 年前

    不需要扩展本机 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 参数,但不是实际的实例-您需要传递表单引用本身,因此使用ie.MyModelForm insted of MyModelForm()。