Loading docs/releases/1.2.txt +10 −0 Original line number Diff line number Diff line Loading @@ -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 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: Loading docs/topics/forms/modelforms.txt +13 −0 Original line number Diff line number Diff line Loading @@ -196,6 +196,19 @@ we'll discuss in a moment.):: name = forms.CharField(max_length=100) 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 --------------------- Loading Loading
docs/releases/1.2.txt +10 −0 Original line number Diff line number Diff line Loading @@ -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 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: Loading
docs/topics/forms/modelforms.txt +13 −0 Original line number Diff line number Diff line Loading @@ -196,6 +196,19 @@ we'll discuss in a moment.):: name = forms.CharField(max_length=100) 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 --------------------- Loading