Django

Code

Changeset 5477

Show
Ignore:
Timestamp:
06/14/07 23:58:04 (1 year ago)
Author:
jkocherhans
Message:

newforms-admin: Fixed a bug where each inline would get the prefix 'form'. This had the potential to cause clashes if there were multiple inline models with identical field names.

Files:

Legend:

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

    r5475 r5477  
    280280    """A formset for child objects related to a parent.""" 
    281281    def __init__(self, instance=None, data=None): 
     282        from django.db.models.fields.related import RelatedObject 
    282283        self.instance = instance 
    283         super(InlineFormset, self).__init__(data, instances=self.get_inline_objects()) 
     284        # is there a better way to get the object descriptor? 
     285        self.rel_name = RelatedObject(self.fk.rel.to, self.model, self.fk).get_accessor_name() 
     286        super(InlineFormset, self).__init__(data, instances=self.get_inline_objects(), prefix=self.rel_name) 
    284287 
    285288    def get_inline_objects(self): 
    286289        if self.instance is None: 
    287290            return [] 
    288         from django.db.models.fields.related import RelatedObject 
    289         # is there a better way to get the object descriptor? 
    290         rel_name = RelatedObject(self.fk.rel.to, self.model, self.fk).get_accessor_name() 
    291         return getattr(self.instance, rel_name).all() 
     291        return getattr(self.instance, self.rel_name).all() 
    292292 
    293293    def save_new(self, form, commit=True):