From c74504c2dd21974571ab72805fbfc8d4d76ce151 Mon Sep 17 00:00:00 2001 From: Jay Leadbetter Date: Thu, 14 Nov 2013 19:26:19 -0700 Subject: Fixed #20522 - Allowed use of partially validated object in ModelAdmin.add_view formset validation. Updated ModelAdmin to use form.instance when passing parent model to child inlines for add_view. There is effectively no change in the change_view since the previously passed 'obj' is the same as form.instance. Thanks to meshy for report, and EvilDMP and timo for review. --- django/contrib/admin/options.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'django') diff --git a/django/contrib/admin/options.py b/django/contrib/admin/options.py index e67f081557..2f39c6a896 100644 --- a/django/contrib/admin/options.py +++ b/django/contrib/admin/options.py @@ -1261,7 +1261,7 @@ class ModelAdmin(BaseModelAdmin): form_validated = True else: form_validated = False - new_object = self.model() + new_object = form.instance formsets, inline_instances = self._create_formsets(request, new_object) if all_valid(formsets) and form_validated: self.save_model(request, new_object, form, False) @@ -1342,7 +1342,7 @@ class ModelAdmin(BaseModelAdmin): new_object = self.save_form(request, form, change=True) else: form_validated = False - new_object = obj + new_object = form.instance formsets, inline_instances = self._create_formsets(request, new_object) if all_valid(formsets) and form_validated: self.save_model(request, new_object, form, True) -- cgit v1.3