Fixed #8861 -- Added note on the availability of ModelForm.instance. Thanks to Ramiro Morales for the patch.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@11097 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
78eb620c63
commit
970be97530
|
@ -870,7 +870,7 @@ Adding custom validation to the admin
|
||||||
-------------------------------------
|
-------------------------------------
|
||||||
|
|
||||||
Adding custom validation of data in the admin is quite easy. The automatic admin
|
Adding custom validation of data in the admin is quite easy. The automatic admin
|
||||||
interfaces reuses :mod:`django.forms`, and the ``ModelAdmin`` class gives you
|
interface reuses :mod:`django.forms`, and the ``ModelAdmin`` class gives you
|
||||||
the ability define your own form::
|
the ability define your own form::
|
||||||
|
|
||||||
class ArticleAdmin(admin.ModelAdmin):
|
class ArticleAdmin(admin.ModelAdmin):
|
||||||
|
@ -890,7 +890,9 @@ any field::
|
||||||
|
|
||||||
It is important you use a ``ModelForm`` here otherwise things can break. See the
|
It is important you use a ``ModelForm`` here otherwise things can break. See the
|
||||||
:ref:`forms <ref-forms-index>` documentation on :ref:`custom validation
|
:ref:`forms <ref-forms-index>` documentation on :ref:`custom validation
|
||||||
<ref-forms-validation>` for more information.
|
<ref-forms-validation>` and, more specifically, the
|
||||||
|
:ref:`model form validation notes <overriding-modelform-clean-method>` for more
|
||||||
|
information.
|
||||||
|
|
||||||
.. _admin-inlines:
|
.. _admin-inlines:
|
||||||
|
|
||||||
|
|
|
@ -397,16 +397,26 @@ to be rendered first, we could specify the following ``ModelForm``::
|
||||||
... model = Book
|
... model = Book
|
||||||
... fields = ['title', 'author']
|
... fields = ['title', 'author']
|
||||||
|
|
||||||
|
.. _overriding-modelform-clean-method:
|
||||||
|
|
||||||
Overriding the clean() method
|
Overriding the clean() method
|
||||||
-----------------------------
|
-----------------------------
|
||||||
|
|
||||||
You can override the ``clean()`` method on a model form to provide additional
|
You can override the ``clean()`` method on a model form to provide additional
|
||||||
validation in the same way you can on a normal form. However, by default the
|
validation in the same way you can on a normal form.
|
||||||
``clean()`` method validates the uniqueness of fields that are marked as
|
|
||||||
``unique``, ``unique_together`` or ``unique_for_date|month|year`` on the model.
|
In this regard, model forms have two specific characteristics when compared to
|
||||||
Therefore, if you would like to override the ``clean()`` method and maintain the
|
forms:
|
||||||
default validation, you must call the parent class's ``clean()`` method.
|
|
||||||
|
By default the ``clean()`` method validates the uniqueness of fields that are
|
||||||
|
marked as ``unique``, ``unique_together`` or ``unique_for_date|month|year`` on
|
||||||
|
the model. Therefore, if you would like to override the ``clean()`` method and
|
||||||
|
maintain the default validation, you must call the parent class's ``clean()``
|
||||||
|
method.
|
||||||
|
|
||||||
|
Also, a model form instance bound to a model object will contain a
|
||||||
|
``self.instance`` attribute that gives model form methods access to that
|
||||||
|
specific model instance.
|
||||||
|
|
||||||
Form inheritance
|
Form inheritance
|
||||||
----------------
|
----------------
|
||||||
|
|
Loading…
Reference in New Issue