模型表单函数
模型表单函数
模型表单 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的工厂函数 的用法示例。
你必须通过关键字参数 fields 或 exclude 或表单内部 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 类。
参数 model、form、fields、exclude、formfield_callback、widgets、localized_fields、labels、help_texts、error_messages、field_classes 都传给 modelform_factory()。
参数 formset、extra、can_delete、can_order、max_num、validate_max、min_num、validate_min、absolute_max、can_delete_extra 和 renderer 被传递给 formset_factory()。详情请见 表单集。
The edit_only argument allows preventing new objects creation.
见 模型表单集 的用法示例。
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=BaseInlineFormSet、can_delete=True 和 extra=3。
如果你的模型有多个 ForeignKey 到 parent_model,你必须指定一个 fk_name。
参见 内联表单集 的用法示例。
