Fixed #12896. Documented the new side-effects of ModelForm validation.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@12693 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
90616a77f0
commit
fa6c967438
|
@ -299,6 +299,16 @@ For those following trunk, this change also applies to other decorators
|
||||||
introduced since 1.1, including ``csrf_protect``, ``cache_control`` and anything
|
introduced since 1.1, including ``csrf_protect``, ``cache_control`` and anything
|
||||||
created using ``decorator_from_middleware``.
|
created using ``decorator_from_middleware``.
|
||||||
|
|
||||||
|
``ModelForm.is_valid()`` and ``ModelForm.errors``
|
||||||
|
-------------------------------------------------
|
||||||
|
|
||||||
|
Much of the validation work for ModelForms has been moved down to the model
|
||||||
|
level. As a result, the first time you call ``ModelForm.is_valid()``, access
|
||||||
|
``ModelForm.errors`` or otherwise trigger form validation, your model will be
|
||||||
|
cleaned in-place. This conversion used to happen when the model was saved. If
|
||||||
|
you need an unmodified instance of your model, you should pass a copy to the
|
||||||
|
``ModelForm`` constructor.
|
||||||
|
|
||||||
|
|
||||||
.. _deprecated-features-1.2:
|
.. _deprecated-features-1.2:
|
||||||
|
|
||||||
|
|
|
@ -196,6 +196,19 @@ we'll discuss in a moment.)::
|
||||||
name = forms.CharField(max_length=100)
|
name = forms.CharField(max_length=100)
|
||||||
authors = forms.ModelMultipleChoiceField(queryset=Author.objects.all())
|
authors = forms.ModelMultipleChoiceField(queryset=Author.objects.all())
|
||||||
|
|
||||||
|
The ``is_valid()`` method and ``errors``
|
||||||
|
----------------------------------------
|
||||||
|
|
||||||
|
.. versionchanged:: 1.2
|
||||||
|
|
||||||
|
The first time you call ``is_valid()`` or access the ``errors`` attribute of a
|
||||||
|
``ModelForm`` has always triggered form validation, but as of Django 1.2, it
|
||||||
|
will also trigger :ref:`model validation <validating-objects>`. This has the
|
||||||
|
side-effect of cleaning the model you pass to the ``ModelForm`` constructor.
|
||||||
|
For instance, calling ``is_valid()`` on your form will convert any date fields
|
||||||
|
on your model to actual date objects.
|
||||||
|
|
||||||
|
|
||||||
The ``save()`` method
|
The ``save()`` method
|
||||||
---------------------
|
---------------------
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue