1
0
mirror of https://github.com/django/django.git synced 2025-10-24 22:26:08 +00:00

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.
This commit is contained in:
Jay Leadbetter
2013-11-14 19:26:19 -07:00
committed by Tim Graham
parent 1c7a83ee8e
commit c74504c2dd
5 changed files with 115 additions and 5 deletions

View File

@@ -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)