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
This commit is contained in:
parent
0e07f80cf4
commit
38e78da95e
|
@ -371,6 +371,35 @@ parameter when declaring the form field::
|
||||||
... class Meta:
|
... class Meta:
|
||||||
... model = Article
|
... 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
|
Changing the order of fields
|
||||||
----------------------------
|
----------------------------
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue