mirror of
https://github.com/django/django.git
synced 2024-12-24 18:16:19 +00:00
Fixed 11674 -- Clarified docs on excluded fields of ModelForms.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16875 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
4f9cf2ef27
commit
4f109fcbff
@ -331,13 +331,17 @@ Since the Author model has only 3 fields, 'name', 'title', and
|
|||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
If you specify ``fields`` or ``exclude`` when creating a form with
|
If you specify ``fields`` or ``exclude`` when creating a form with
|
||||||
``ModelForm``, then the fields that are not in the resulting form will not
|
``ModelForm``, then the fields that are not in the resulting form
|
||||||
be set by the form's ``save()`` method. Django will prevent any attempt to
|
will not be set by the form's ``save()`` method. Also, if you
|
||||||
save an incomplete model, so if the model does not allow the missing fields
|
manually add the excluded fields back to the form, they will not
|
||||||
to be empty, and does not provide a default value for the missing fields,
|
be initialized from the model instance.
|
||||||
any attempt to ``save()`` a ``ModelForm`` with missing fields will fail.
|
|
||||||
To avoid this failure, you must instantiate your model with initial values
|
Django will prevent any attempt to save an incomplete model, so if
|
||||||
for the missing, but required fields::
|
the model does not allow the missing fields to be empty, and does
|
||||||
|
not provide a default value for the missing fields, any attempt to
|
||||||
|
``save()`` a ``ModelForm`` with missing fields will fail. To
|
||||||
|
avoid this failure, you must instantiate your model with initial
|
||||||
|
values for the missing, but required fields::
|
||||||
|
|
||||||
author = Author(title='Mr')
|
author = Author(title='Mr')
|
||||||
form = PartialAuthorForm(request.POST, instance=author)
|
form = PartialAuthorForm(request.POST, instance=author)
|
||||||
@ -632,6 +636,12 @@ database. If a given instance's data didn't change in the bound data, the
|
|||||||
instance won't be saved to the database and won't be included in the return
|
instance won't be saved to the database and won't be included in the return
|
||||||
value (``instances``, in the above example).
|
value (``instances``, in the above example).
|
||||||
|
|
||||||
|
When fields are missing from the form (for example because they have
|
||||||
|
been excluded), these fields will not be set by the ``save()``
|
||||||
|
method. You can find more information about this restriction, which
|
||||||
|
also holds for regular ``ModelForms``, in `Using a subset of fields on
|
||||||
|
the form`_.
|
||||||
|
|
||||||
Pass ``commit=False`` to return the unsaved model instances::
|
Pass ``commit=False`` to return the unsaved model instances::
|
||||||
|
|
||||||
# don't save to the database
|
# don't save to the database
|
||||||
|
Loading…
Reference in New Issue
Block a user