Added the missing form option to the ModelAdmin options section. Also added a section for custom validation in the admin.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@8208 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
bf65fd0a80
commit
ac69520890
|
@ -69,6 +69,13 @@ Example::
|
|||
|
||||
date_hierarchy = 'pub_date'
|
||||
|
||||
``form``
|
||||
~~~~~~~~
|
||||
|
||||
The default ``forms.ModelForm`` class used to generate the form on the
|
||||
add/change pages for models. You can easily change this to your own
|
||||
``ModelForm`` to override the default form behavior of the add/change pages.
|
||||
|
||||
``fieldsets``
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
|
@ -528,6 +535,31 @@ apply as `regular media definitions on forms`_.
|
|||
|
||||
.. _regular media definitions on forms: ../forms/#media
|
||||
|
||||
Adding custom validation to the admin
|
||||
-------------------------------------
|
||||
|
||||
Adding custom validation of data in the admin is quite easy. The automatic
|
||||
admin interfaces reuses the Django `forms`_ module. The ``ModelAdmin`` class
|
||||
gives you the ability define your own form::
|
||||
|
||||
class ArticleAdmin(admin.ModelAdmin):
|
||||
form = MyArticleAdminForm
|
||||
|
||||
``MyArticleAdminForm`` can be defined anywhere as long as you import where
|
||||
needed. Now within your form you can add your own custom validation for
|
||||
any field::
|
||||
|
||||
class MyArticleAdminForm(forms.ModelForm):
|
||||
def clean_name(self):
|
||||
# do something that validates your data
|
||||
return self.cleaned_data["name"]
|
||||
|
||||
It is important you use a ``ModelForm`` here otherwise things can break. See
|
||||
the `forms`_ documentation on `custom validation`_ for more information.
|
||||
|
||||
.. _forms: ../forms/
|
||||
.. _custom validation: ../forms/#custom-form-and-field-validation
|
||||
|
||||
``InlineModelAdmin`` objects
|
||||
============================
|
||||
|
||||
|
|
Loading…
Reference in New Issue