On this page
Model Form Functions
Model Form API reference. For introductory material about model forms, see the Creating forms from models topic guide.
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)-
Returns a
ModelFormclass for the givenmodel. You can optionally pass aformargument to use as a starting point for constructing theModelForm.fieldsis an optional list of field names. If provided, only the named fields will be included in the returned fields.excludeis an optional list of field names. If provided, the named fields will be excluded from the returned fields, even if they are listed in thefieldsargument.formfield_callbackis a callable that takes a model field and returns a form field.widgetsis a dictionary of model field names mapped to a widget.localized_fieldsis a list of names of fields which should be localized.labelsis a dictionary of model field names mapped to a label.help_textsis a dictionary of model field names mapped to a help text.error_messagesis a dictionary of model field names mapped to a dictionary of error messages.field_classesis a dictionary of model field names mapped to a form field class.See ModelForm factory function for example usage.
You must provide the list of fields explicitly, either via keyword arguments
fieldsorexclude, or the corresponding attributes on the form’s innerMetaclass. See Selecting the fields to use for more information. Omitting any definition of the fields to use will result in anImproperlyConfiguredexception.
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)-
Returns a
FormSetclass for the givenmodelclass.Arguments
model,form,fields,exclude,formfield_callback,widgets,localized_fields,labels,help_texts,error_messages, andfield_classesare all passed through tomodelform_factory().Arguments
formset,extra,can_delete,can_order,max_num,validate_max,min_num,validate_min,absolute_max,can_delete_extra, andrendererare passed through toformset_factory(). See formsets for details.The
edit_onlyargument allows preventing new objects creation.See Model formsets for example usage.
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)-
Returns an
InlineFormSetusingmodelformset_factory()with defaults offormset=BaseInlineFormSet,can_delete=True, andextra=3.If your model has more than one
ForeignKeyto theparent_model, you must specify afk_name.See Inline formsets for example usage.
© Django Software Foundation and individual contributors
Licensed under the BSD License.
https://docs.djangoproject.com/en/5.0/ref/forms/models/