模型表单函数¶
模型表单 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)¶ 返回给定
model类的FormSet类。参数
model、form、fields、exclude、formfield_callback、widgets、localized_fields、labels、help_texts、error_messages、field_classes都传给modelform_factory()。Arguments
formset,extra,can_delete,can_order,max_num,validate_max,min_num,validate_min,absolute_max, andcan_delete_extraare passed through toformset_factory(). See formsets for details.见 模型表单集 的用法示例。
Changed in Django 3.2:增加了
absolute_max和can_delete_extra参数。
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)¶ 使用
modelformset_factory()返回一个InlineFormSet,默认值为formset=BaseInlineFormSet、can_delete=True和extra=3。如果你的模型有多个
ForeignKey到parent_model,你必须指定一个fk_name。参见 内联表单集 的用法示例。
Changed in Django 3.2:增加了
absolute_max和can_delete_extra参数。