diff --git a/nested_inline/admin.py b/nested_inline/admin.py index 9ec6290..a2ad8e1 100644 --- a/nested_inline/admin.py +++ b/nested_inline/admin.py @@ -28,7 +28,8 @@ class Media: js = ('admin/js/inlines-nested.js',) def get_inline_instances(self, request, obj=None): - inline_instances = [] + inline_instances = super( + NestedModelAdmin, self).get_inline_instances(request, obj) for inline_class in self.inlines: inline = inline_class(self.model, self.admin_site) if request: @@ -70,7 +71,7 @@ def add_nested_inline_formsets(self, request, inline, formset, depth=0): raise Exception("Maximum nesting depth reached (5)") for form in formset.forms: nested_formsets = [] - for nested_inline in inline.get_inline_instances(request): + for nested_inline in inline.get_inline_instances(request, form.instance): InlineFormSet = nested_inline.get_formset(request, form.instance) prefix = "%s-%s" % (form.prefix, InlineFormSet.get_default_prefix()) @@ -96,7 +97,7 @@ def get_media(extra_media): for form in formset.forms: wrapped_nested_formsets = [] - for nested_inline, nested_formset in zip(inline.get_inline_instances(request), form.nested_formsets): + for nested_inline, nested_formset in zip(inline.get_inline_instances(request, form.instance), form.nested_formsets): if form.instance.pk: instance = form.instance else: @@ -376,7 +377,7 @@ def get_inline_instances(self, request, obj=None): return inline_instances def get_formsets_with_inlines(self, request, obj=None): - for inline in self.get_inline_instances(request): + for inline in self.get_inline_instances(request, obj): yield inline.get_formset(request, obj), inline