Browse files

Added the missing form option to the ModelAdmin options section. Also…

… added a section for custom validation in the admin.

git-svn-id: bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
1 parent bf65fd0 commit ac6952089061e3e160cd6ae4487840593ac95575 @brosner brosner committed Aug 4, 2008
Showing with 32 additions and 0 deletions.
  1. +32 −0 docs/admin.txt
@@ -69,6 +69,13 @@ Example::
date_hierarchy = 'pub_date'
+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.
@@ -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

0 comments on commit ac69520

Please sign in to comment.