Fixed #10845 -- Clarified the examples for using ModelForms with fields or exclude specified. Thanks to Andrew Durdin for the suggestion.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@10972 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Russell Keith-Magee 2009-06-10 12:46:04 +00:00
parent 6c36d4c4f8
commit 6ad26e6acc
1 changed files with 13 additions and 10 deletions

View File

@ -323,16 +323,19 @@ Since the Author model has only 3 fields, 'name', 'title', and
to be empty, and does not provide a default value for 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. any attempt to ``save()`` a ``ModelForm`` with missing fields will fail.
To avoid this failure, you must instantiate your model with initial values To avoid this failure, you must instantiate your model with initial values
for the missing, but required fields, or use ``save(commit=False)`` and for the missing, but required fields::
manually set any extra required fields::
instance = Instance(required_field='value') author = Author(title='Mr')
form = InstanceForm(request.POST, instance=instance) form = PartialAuthorForm(request.POST, instance=author)
new_instance = form.save() form.save()
instance = form.save(commit=False) Alternatively, you can use ``save(commit=False)`` and manually set
instance.required_field = 'new value' any extra required fields::
new_instance = instance.save()
form = PartialAuthorForm(request.POST)
author = form.save(commit=False)
author.title = 'Mr'
author.save()
See the `section on saving forms`_ for more details on using See the `section on saving forms`_ for more details on using
``save(commit=False)``. ``save(commit=False)``.