Browse files

Added the ability to customize the prefix value on an inline formset. F…

…ixes #7899. AThanks for the tip Peter of the Norse.

git-svn-id: bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
1 parent 681e7bb commit 3912403550e31ddb3a002789dd2fe3379a4e006e @brosner brosner committed Jul 23, 2008
Showing with 12 additions and 2 deletions.
  1. +3 −2 django/forms/
  2. +9 −0 tests/modeltests/model_formsets/
@@ -401,13 +401,14 @@ def modelformset_factory(model, form=ModelForm, formfield_callback=lambda f: f.f
class BaseInlineFormset(BaseModelFormSet):
"""A formset for child objects related to a parent."""
- def __init__(self, data=None, files=None, instance=None, save_as_new=False):
+ def __init__(self, data=None, files=None, instance=None,
+ save_as_new=False, prefix=None):
from django.db.models.fields.related import RelatedObject
self.instance = instance
self.save_as_new = save_as_new
# is there a better way to get the object descriptor?
self.rel_name = RelatedObject(, self.model,
- super(BaseInlineFormset, self).__init__(data, files, prefix=self.rel_name)
+ super(BaseInlineFormset, self).__init__(data, files, prefix=prefix or self.rel_name)
def _construct_forms(self):
if self.save_as_new:
@@ -313,4 +313,13 @@ def __unicode__(self):
>>> [book for book in if ==]
[<Book: Les Fleurs du Mal>, <Book: Le Spleen de Paris>]
+Test using a custom prefix on an inline formset.
+>>> formset = AuthorBooksFormSet(prefix="test")
+>>> for form in formset.forms:
+... print form.as_p()
+<p><label for="id_test-0-title">Title:</label> <input id="id_test-0-title" type="text" name="test-0-title" maxlength="100" /><input type="hidden" name="test-0-id" id="id_test-0-id" /></p>
+<p><label for="id_test-1-title">Title:</label> <input id="id_test-1-title" type="text" name="test-1-title" maxlength="100" /><input type="hidden" name="test-1-id" id="id_test-1-id" /></p>

0 comments on commit 3912403

Please sign in to comment.