summaryrefslogtreecommitdiff
path: root/django/newforms/models.py
diff options
context:
space:
mode:
authorJoseph Kocherhans <joseph@jkocherhans.com>2007-06-15 04:58:04 +0000
committerJoseph Kocherhans <joseph@jkocherhans.com>2007-06-15 04:58:04 +0000
commitc58ff68881376a58d1285e7cfd7de3e53766626a (patch)
tree77ebf505cbc9ac0e23e01effc3a8b9a79aa0c92b /django/newforms/models.py
parent5ffaf83ced81aef987772193e5d5c85047dec3a6 (diff)
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.
git-svn-id: http://code.djangoproject.com/svn/django/branches/newforms-admin@5477 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django/newforms/models.py')
-rw-r--r--django/newforms/models.py10
1 files changed, 5 insertions, 5 deletions
diff --git a/django/newforms/models.py b/django/newforms/models.py
index 874e1148af..8354b56a08 100644
--- a/django/newforms/models.py
+++ b/django/newforms/models.py
@@ -279,16 +279,16 @@ def formset_for_model(model, form=BaseForm, formfield_callback=lambda f: f.formf
class InlineFormset(BaseModelFormSet):
"""A formset for child objects related to a parent."""
def __init__(self, instance=None, data=None):
+ from django.db.models.fields.related import RelatedObject
self.instance = instance
- super(InlineFormset, self).__init__(data, instances=self.get_inline_objects())
+ # is there a better way to get the object descriptor?
+ self.rel_name = RelatedObject(self.fk.rel.to, self.model, self.fk).get_accessor_name()
+ super(InlineFormset, self).__init__(data, instances=self.get_inline_objects(), prefix=self.rel_name)
def get_inline_objects(self):
if self.instance is None:
return []
- from django.db.models.fields.related import RelatedObject
- # is there a better way to get the object descriptor?
- rel_name = RelatedObject(self.fk.rel.to, self.model, self.fk).get_accessor_name()
- return getattr(self.instance, rel_name).all()
+ return getattr(self.instance, self.rel_name).all()
def save_new(self, form, commit=True):
kwargs = {self.fk.get_attname(): self.instance._get_pk_val()}