summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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()}