Django

Code

Changeset 7855

Show
Ignore:
Timestamp:
07/06/08 19:31:29 (5 months ago)
Author:
brosner
Message:

newforms-admin: Allow an overridden _construct_form to easily pass parameters through to the form constructor in formsets.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/branches/newforms-admin/django/newforms/formsets.py

    r7613 r7855  
    7979            self.forms.append(self._construct_form(i)) 
    8080     
    81     def _construct_form(self, i): 
     81    def _construct_form(self, i, **kwargs): 
    8282        """ 
    8383        Instantiates and returns the i-th form instance in a formset. 
    8484        """ 
    85         kwargs = {'auto_id': self.auto_id, 'prefix': self.add_prefix(i)} 
     85        defaults = {'auto_id': self.auto_id, 'prefix': self.add_prefix(i)} 
    8686        if self.data or self.files: 
    87             kwargs['data'] = self.data 
    88             kwargs['files'] = self.files 
     87            defaults['data'] = self.data 
     88            defaults['files'] = self.files 
    8989        if self.initial: 
    9090            try: 
    91                 kwargs['initial'] = self.initial[i] 
     91                defaults['initial'] = self.initial[i] 
    9292            except IndexError: 
    9393                pass 
    9494        # Allow extra forms to be empty. 
    9595        if i >= self._initial_form_count: 
    96             kwargs['empty_permitted'] = True 
    97         form = self.form(**kwargs) 
     96            defaults['empty_permitted'] = True 
     97        defaults.update(kwargs) 
     98        form = self.form(**defaults) 
    9899        self.add_fields(form, i) 
    99100        return form