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

git-svn-id: http://code.djangoproject.com/svn/django/trunk@13222 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Russell Keith-Magee 2010-05-10 14:07:05 +00:00
parent bc82e20370
commit 101571b940
1 changed files with 11 additions and 4 deletions

View File

@ -136,10 +136,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``,
data above. This data is coming from the ``ManagementForm``. This form is ``form-INITIAL_FORMS`` and ``form-MAX_NUM_FORMS``) that was required
dealt with internally to the formset. If you don't use it, it will result in in the formset's data above. This data is required for the
an exception:: ``ManagementForm``. This form is used by 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',
@ -154,6 +156,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``