mirror of
https://github.com/django/django.git
synced 2025-10-05 12:59:10 +00:00
Lines in the docs files were manually adjusted to conform to the 79 columns limit per line (plus newline), improving readability and consistency across the content.
89 lines
4.2 KiB
Plaintext
89 lines
4.2 KiB
Plaintext
====================
|
|
Model Form Functions
|
|
====================
|
|
|
|
Model Form API reference. For introductory material about model forms, see the
|
|
:doc:`/topics/forms/modelforms` topic guide.
|
|
|
|
.. module:: django.forms.models
|
|
:synopsis: Django's functions for building model forms and formsets.
|
|
|
|
``modelform_factory``
|
|
=====================
|
|
|
|
.. function:: 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 :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.
|
|
|
|
``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 :ref:`modelforms-factory` 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 :ref:`modelforms-selecting-fields` for
|
|
more information. Omitting any definition of the fields to use will result
|
|
in an :exc:`~django.core.exceptions.ImproperlyConfigured` exception.
|
|
|
|
``modelformset_factory``
|
|
========================
|
|
|
|
.. 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, 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 :func:`~django.forms.models.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 :func:`~django.forms.formsets.formset_factory`. See
|
|
:doc:`formsets </topics/forms/formsets>` for details.
|
|
|
|
The ``edit_only`` argument allows :ref:`preventing new objects creation
|
|
<model-formsets-edit-only>`.
|
|
|
|
See :ref:`model-formsets` for example usage.
|
|
|
|
``inlineformset_factory``
|
|
=========================
|
|
|
|
.. 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, 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 :func:`modelformset_factory` with
|
|
defaults of ``formset=``:class:`~django.forms.models.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.
|