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 ModelForm class for the given model
. You can optionally pass a form
argument to use as a starting point for constructing the ModelForm
.
fields
is an optional list of field names. If provided, only the named fields will be included in the returned fields.
exclude
is an optional list of field names. If provided, the named fields will be excluded from the returned fields, even if they are listed in the fields
argument.
formfield_callback
is a callable that takes a model field and returns a form field.
widgets
is a dictionary of model field names mapped to a widget.
localized_fields
is a list of names of fields which should be localized.
labels
is a dictionary of model field names mapped to a label.
help_texts
is a dictionary of model field names mapped to a help text.
error_messages
is a dictionary of model field names mapped to a dictionary of error messages.
field_classes
is 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 fields
or exclude
, or the corresponding attributes on the form’s inner Meta
class. See Selecting the fields to use for more information. Omitting any definition of the fields to use will result in an ImproperlyConfigured exception.
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)
Returns a FormSet
class for the given model
class.
Arguments model
, form
, fields
, exclude
, formfield_callback
, widgets
, localized_fields
, labels
, help_texts
, error_messages
, and field_classes
are all passed through to modelform_factory().
Arguments formset
, extra
, can_delete
, can_order
, max_num
, validate_max
, min_num
, validate_min
, absolute_max
, can_delete_extra
, and renderer
are passed through to formset_factory(). See formsets for details.
See Model formsets for example usage.
Changed in Django 3.2:
The absolute_max
and can_delete_extra
arguments were added.
Changed in Django 4.0:
The renderer
argument was added.
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)
Returns an InlineFormSet
using modelformset_factory() with defaults of formset=
BaseInlineFormSet, can_delete=True
, and extra=3
.
If your model has more than one ForeignKey to the parent_model
, you must specify a fk_name
.
See Inline formsets for example usage.
Changed in Django 3.2:
The absolute_max
and can_delete_extra
arguments were added.
Changed in Django 4.0:
The renderer
argument was added.