更改 Django ModelFormset 中的字段类型

Posted

技术标签:

【中文标题】更改 Django ModelFormset 中的字段类型【英文标题】:Changing field type in a Django ModelFormset 【发布时间】:2010-11-06 13:17:27 【问题描述】:

在 Django ModelForm 中,您可以像这样更改字段的小部件类型:

class EntryForm(ModelForm):
    entity = forms.CharField()

    class Meta:
        model = Entry

我可以像这样轻松地从同一个模型创建模型表单集:

EntryFormSet = modelformset_factory(Entry)

但是有没有办法在创建模型表单集时包含输入字段类型更改?

【问题讨论】:

【参考方案1】:

EntryFormSet = modelformset_factory(Entry, form=EntryForm)

【讨论】:

按照上面的建议进行设置后,将 entry_formset = EntryFormSet(prefix='entries') 传递给 render_to_response 仍然会显示所有字段。我还在玩这个。 docs.djangoproject.com/en/dev/topics/forms/modelforms/… 啊——谢谢。我希望它从我的 EntryForm 模型中继承那些,该模型还排除了一些字段(为简单起见,我从上面的示例中省略了)【参考方案2】:

modelformset_factory 接受关键字参数form,我相信它会让您传递表单类并使用它...

【讨论】:

以上是关于更改 Django ModelFormset 中的字段类型的主要内容,如果未能解决你的问题,请参考以下文章

元类与 Django 中的 modelformset_factory 冲突

解析json在模板中的django modelformset中返回

Django之路——form modelform formset modelformset的各种用法

Django modelformset order_by 不工作

在基于 Django 类的视图中使用 modelformset_factory

django modelformset 排除 ID 字段