Django

Code

Changeset 8060

Show
Ignore:
Timestamp:
07/22/08 23:46:31 (4 months ago)
Author:
brosner
Message:

Added the ability to customize the prefix value on an inline formset. Fixes #7899. AThanks for the tip Peter of the Norse.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/trunk/django/forms/models.py

    r8058 r8060  
    402402class BaseInlineFormset(BaseModelFormSet): 
    403403    """A formset for child objects related to a parent.""" 
    404     def __init__(self, data=None, files=None, instance=None, save_as_new=False): 
     404    def __init__(self, data=None, files=None, instance=None, 
     405                 save_as_new=False, prefix=None): 
    405406        from django.db.models.fields.related import RelatedObject 
    406407        self.instance = instance 
     
    408409        # is there a better way to get the object descriptor? 
    409410        self.rel_name = RelatedObject(self.fk.rel.to, self.model, self.fk).get_accessor_name() 
    410         super(BaseInlineFormset, self).__init__(data, files, prefix=self.rel_name) 
     411        super(BaseInlineFormset, self).__init__(data, files, prefix=prefix or self.rel_name) 
    411412     
    412413    def _construct_forms(self): 
  • django/trunk/tests/modeltests/model_formsets/models.py

    r8058 r8060  
    314314[<Book: Les Fleurs du Mal>, <Book: Le Spleen de Paris>] 
    315315 
     316Test using a custom prefix on an inline formset. 
     317 
     318>>> formset = AuthorBooksFormSet(prefix="test") 
     319>>> for form in formset.forms: 
     320...     print form.as_p() 
     321<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> 
     322<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> 
     323 
     324 
    316325"""}