summaryrefslogtreecommitdiff
path: root/django/newforms/formsets.py
diff options
context:
space:
mode:
authorBrian Rosner <brosner@gmail.com>2008-07-07 00:31:29 +0000
committerBrian Rosner <brosner@gmail.com>2008-07-07 00:31:29 +0000
commit84541cd244638b44ca7f0f1076427470f4128a44 (patch)
tree8761cea5d273f074873e9658324f7de929852736 /django/newforms/formsets.py
parent21974955c4fb3df6ee9308d27c180df47dc3a660 (diff)
newforms-admin: Allow an overridden _construct_form to easily pass parameters through to the form constructor in formsets.
git-svn-id: http://code.djangoproject.com/svn/django/branches/newforms-admin@7855 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django/newforms/formsets.py')
-rw-r--r--django/newforms/formsets.py15
1 files changed, 8 insertions, 7 deletions
diff --git a/django/newforms/formsets.py b/django/newforms/formsets.py
index 03f5278c30..1ae27bf58c 100644
--- a/django/newforms/formsets.py
+++ b/django/newforms/formsets.py
@@ -78,23 +78,24 @@ class BaseFormSet(StrAndUnicode):
for i in xrange(self._total_form_count):
self.forms.append(self._construct_form(i))
- def _construct_form(self, i):
+ def _construct_form(self, i, **kwargs):
"""
Instantiates and returns the i-th form instance in a formset.
"""
- kwargs = {'auto_id': self.auto_id, 'prefix': self.add_prefix(i)}
+ defaults = {'auto_id': self.auto_id, 'prefix': self.add_prefix(i)}
if self.data or self.files:
- kwargs['data'] = self.data
- kwargs['files'] = self.files
+ defaults['data'] = self.data
+ defaults['files'] = self.files
if self.initial:
try:
- kwargs['initial'] = self.initial[i]
+ defaults['initial'] = self.initial[i]
except IndexError:
pass
# Allow extra forms to be empty.
if i >= self._initial_form_count:
- kwargs['empty_permitted'] = True
- form = self.form(**kwargs)
+ defaults['empty_permitted'] = True
+ defaults.update(kwargs)
+ form = self.form(**defaults)
self.add_fields(form, i)
return form