Fixed #3922 -- Added a warning that fields passed to form_for_model callback function should not be modified. It's bad for your health. Thanks, Philippe Raoult.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@6148 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Malcolm Tredinnick 2007-09-14 01:45:26 +00:00
parent 1e94ef85bf
commit 62fe5cf138
2 changed files with 12 additions and 0 deletions

View File

@ -241,6 +241,7 @@ answer newbie questions, and generally made Django that much better:
Jan Rademaker
Michael Radziej <mir@noris.de>
Amit Ramon <amit.ramon@gmail.com>
Philippe Raoult <philippe.raoult@n2nsoft.com>
Massimiliano Ravelli <massimiliano.ravelli@gmail.com>
Brian Ray <http://brianray.chipy.org/>
remco@diji.biz

View File

@ -1916,6 +1916,17 @@ Note that your callback needs to handle *all* possible model field types, not
just the ones that you want to behave differently to the default. That's why
this example has an ``else`` clause that implements the default behavior.
.. warning::
The field that is passed into the ``formfield_callback`` function in
``form_for_model()`` and ``form_for_instance`` is the field instance from
your model's class. You **must not** alter that object at all; treat it
as read-only!
If you make any alterations to that object, it will affect any future
users of the model class, because you will have changed the field object
used to construct the class. This is almost certainly what you don't want
to have happen.
Finding the model associated with a form
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~