Model Form Functions

    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.

    field_classes is a dictionary of model field names mapped to a form field class.

    See 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 class. See Selecting the fields to use for more information. Omitting any definition of the fields to use will result in an exception.

    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 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, , validate_max, min_num, validate_min, absolute_max, can_delete_extra, and renderer are passed through to . See formsets for details.

    The edit_only argument allows .

    See Model formsets for example usage.

    The renderer argument was added.

    Changed in Django 4.1:

    The edit_only argument was added.

    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 InlineFormSet using with defaults of formset=BaseInlineFormSet, can_delete=True, and extra=3.

    If your model has more than one to the parent_model, you must specify a fk_name.

    See Inline formsets for example usage.

    Changed in Django 4.0:

    The renderer argument was added.

    The edit_only argument was added.