mirror of
https://github.com/django/django.git
synced 2024-12-01 15:42:04 +01:00
f026a519ae
This also updates all dependent functionality, including modelform_factory and modelformset_factory, and the generic views `ModelFormMixin`, `CreateView` and `UpdateView` which gain a new `fields` attribute.
69 lines
2.9 KiB
Plaintext
69 lines
2.9 KiB
Plaintext
====================
|
|
Model Form Functions
|
|
====================
|
|
|
|
.. module:: django.forms.models
|
|
:synopsis: Django's functions for building model forms and formsets.
|
|
|
|
.. function:: modelform_factory(model, form=ModelForm, fields=None, exclude=None, formfield_callback=None, widgets=None)
|
|
|
|
Returns a :class:`~django.forms.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.
|
|
|
|
``widgets`` is a dictionary of model field names mapped to a widget.
|
|
|
|
``formfield_callback`` is a callable that takes a model field and returns
|
|
a form field.
|
|
|
|
See :ref:`modelforms-factory` for example usage.
|
|
|
|
.. versionchanged:: 1.6
|
|
|
|
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 :ref:`modelforms-selecting-fields` for more
|
|
information. Omitting any definition of the fields to use will result in all
|
|
fields being used, but this behaviour is deprecated.
|
|
|
|
.. function:: 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)
|
|
|
|
Returns a ``FormSet`` class for the given ``model`` class.
|
|
|
|
Arguments ``model``, ``form``, ``fields``, ``exclude``,
|
|
``formfield_callback`` and ``widgets`` are all passed through to
|
|
:func:`~django.forms.models.modelform_factory`.
|
|
|
|
Arguments ``formset``, ``extra``, ``max_num``, ``can_order``,
|
|
``can_delete`` and ``validate_max`` are passed through to
|
|
:func:`~django.forms.formsets.formset_factory`. See :ref:`formsets` for
|
|
details.
|
|
|
|
See :ref:`model-formsets` for example usage.
|
|
|
|
.. versionchanged:: 1.6
|
|
|
|
The ``widgets`` and the ``validate_max`` parameters were added.
|
|
|
|
.. function:: 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)
|
|
|
|
Returns an ``InlineFormSet`` using :func:`modelformset_factory` with
|
|
defaults of ``formset=BaseInlineFormSet``, ``can_delete=True``, and
|
|
``extra=3``.
|
|
|
|
If your model has more than one :class:`~django.db.models.ForeignKey` to
|
|
the ``parent_model``, you must specify a ``fk_name``.
|
|
|
|
See :ref:`inline-formsets` for example usage.
|
|
|
|
.. versionchanged:: 1.6
|
|
|
|
The ``widgets`` and the ``validate_max`` parameters were added.
|