[1.1.X] Fixed #11908 -- Clarified the role and usage of the ManagementForm in formsets. Thanks to timo for the draft patch.

Backport of r13222 from trunk.

git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.1.X@13227 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Russell Keith-Magee 2010-05-10 14:17:16 +00:00
parent a0ea98e7a0
commit 08de7a32d9
1 changed files with 11 additions and 4 deletions

View File

@ -123,10 +123,12 @@ the expected error message appears for the second item.
Understanding the ManagementForm Understanding the ManagementForm
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
You may have noticed the additional data that was required in the formset's You may have noticed the additional data (``form-TOTAL_FORMS`` and
data above. This data is coming from the ``ManagementForm``. This form is ``form-INITIAL_FORMS``) that was required in the formset's data above.
dealt with internally to the formset. If you don't use it, it will result in This data is required for the ``ManagementForm``. This form is used by
an exception:: the formset to manage the collection of forms contained in the
formset. If you don't provide this management data, an exception will
be raised::
>>> data = { >>> data = {
... 'form-0-title': u'Test', ... 'form-0-title': u'Test',
@ -141,6 +143,11 @@ It is used to keep track of how many form instances are being displayed. If
you are adding new forms via JavaScript, you should increment the count fields you are adding new forms via JavaScript, you should increment the count fields
in this form as well. in this form as well.
The management form is available as an attribute of the formset
itself. When rendering a formset in a template, you can include all
the management data by rendering ``{{ my_formset.management_form }}``
(substituting the name of your formset as appropriate).
.. versionadded:: 1.1 .. versionadded:: 1.1
``total_form_count`` and ``initial_form_count`` ``total_form_count`` and ``initial_form_count``