模型表单函数

模型表单 API 参考。有关模型表单的介绍性资料,请参阅从模型创建表单主题指南。

modelform_factory

modelform_factory(model, form=ModelForm, fields=None, exclude=None, formfield_callback=None, widgets=None, localized_fields=None, labels=None, help_texts=None, error_messages=None, field_classes=None)

为给定的 model 返回一个 ModelForm 类。您可以选择传递一个 form 参数作为构建 ModelForm 的起点。

fields 是一个可选的字段名称列表。如果提供,则只会在返回的字段中包含指定的字段。

exclude 是一个可选的字段名称列表。如果提供,则即使在 fields 参数中列出,指定的字段也会从返回的字段中排除。

formfield_callback 是一个可调用对象,它接受一个模型字段并返回一个表单字段。

widgets 是一个将模型字段名称映射到小部件的字典。

localized_fields 是一个应该本地化的字段名称列表。

labels 是一个将模型字段名称映射到标签的字典。

help_texts 是一个将模型字段名称映射到帮助文本的字典。

error_messages 是一个将模型字段名称映射到错误消息字典的字典。

field_classes 是一个将模型字段名称映射到表单字段类的字典。

有关示例用法,请参阅ModelForm 工厂函数

您必须显式提供字段列表,可以通过关键字参数 fieldsexclude,或者表单内部 Meta 类上的相应属性来提供。有关更多信息,请参阅选择要使用的字段。省略对要使用的字段的任何定义将导致 ImproperlyConfigured 异常。

modelformset_factory

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, widgets=None, validate_max=False, localized_fields=None, labels=None, help_texts=None, error_messages=None, min_num=None, validate_min=False, field_classes=None, absolute_max=None, can_delete_extra=True, renderer=None, edit_only=False)

为给定的 model 类返回一个 FormSet 类。

参数 modelformfieldsexcludeformfield_callbackwidgetslocalized_fieldslabelshelp_textserror_messagesfield_classes 都将传递给 modelform_factory()

参数 formsetextracan_deletecan_ordermax_numvalidate_maxmin_numvalidate_minabsolute_maxcan_delete_extrarenderer 将传递给 formset_factory()。有关详细信息,请参阅表单集

edit_only 参数允许阻止创建新对象

有关示例用法,请参阅模型表单集

inlineformset_factory

inlineformset_factory(parent_model, model, form=ModelForm, formset=BaseInlineFormSet, fk_name=None, fields=None, exclude=None, extra=3, can_order=False, can_delete=True, max_num=None, formfield_callback=None, widgets=None, validate_max=False, localized_fields=None, labels=None, help_texts=None, error_messages=None, min_num=None, validate_min=False, field_classes=None, absolute_max=None, can_delete_extra=True, renderer=None, edit_only=False)

使用 modelformset_factory() 返回一个 InlineFormSet,默认值为 formset=BaseInlineFormSetcan_delete=Trueextra=3

如果您的模型有多个指向 parent_modelForeignKey,则必须指定 fk_name

有关示例用法,请参阅 内联表单集

返回顶部