Commit 38e78da9 authored by Russell Keith-Magee's avatar Russell Keith-Magee
Browse files

Fixed #11740 -- Added extra detail on the behavior of ModelForms. Thanks to...

Fixed #11740 -- Added extra detail on the behavior of ModelForms. Thanks to severian for the suggestion.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@11548 bcc190cf-cafb-0310-a4f2-bffc1f526a37
parent 0e07f80c
Loading
Loading
Loading
Loading
+29 −0
Original line number Diff line number Diff line
@@ -371,6 +371,35 @@ parameter when declaring the form field::
   ...     class Meta:
   ...         model = Article

.. note::

    If you explicitly instantiate a form field like this, Django assumes that you
    want to completely define its behavior; therefore, default attributes (such as 
    ``max_length`` or ``required``) are not drawn from the corresponding model. If 
    you want to maintain the behavior specified in the model, you must set the
    relevant arguments explicitly when declaring the form field.

    For example, if the ``Article`` model looks like this::

        class Article(models.Model):
            headline = models.CharField(max_length=200, null=True, blank=True, 
                                        help_text="Use puns liberally")
            content = models.TextField()

    and you want to do some custom validation for ``headline``, while keeping
    the ``blank`` and ``help_text`` values as specified, you might define 
    ``ArticleForm`` like this::

        class ArticleForm(ModelForm):
            headline = MyFormField(max_length=200, required=False, 
                                   help_text="Use puns liberally")

            class Meta:
                model = Article

    See the :ref:`form field documentation <ref-forms-fields>` for more information
    on fields and their arguments.

Changing the order of fields
----------------------------