diff options
| author | Kamil Braun <kb346840@students.mimuw.edu.pl> | 2014-11-27 19:34:14 +0100 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2014-12-02 08:43:59 -0500 |
| commit | ccc30ffe57e5f1e4dbda371b8a1d00c19a3150aa (patch) | |
| tree | 6e75016a6a99b24135263fadc27d4a804981c7b7 /django | |
| parent | 3a42d9730cbb07ffbb983791e631f5d0a6746f68 (diff) | |
[1.7.x] Fixed #23934 -- Fixed regression in admin views obj parameter.
Backport of 0623f4dea46eefba46efde6c6528f7d813ef4391 from master
Diffstat (limited to 'django')
| -rw-r--r-- | django/contrib/admin/options.py | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/django/contrib/admin/options.py b/django/contrib/admin/options.py index 3d0faf0e33..e1f56c6f9b 100644 --- a/django/contrib/admin/options.py +++ b/django/contrib/admin/options.py @@ -1399,7 +1399,7 @@ class ModelAdmin(BaseModelAdmin): else: form_validated = False new_object = form.instance - formsets, inline_instances = self._create_formsets(request, new_object) + formsets, inline_instances = self._create_formsets(request, new_object, change=not add) if all_valid(formsets) and form_validated: self.save_model(request, new_object, form, not add) self.save_related(request, form, formsets, not add) @@ -1414,10 +1414,10 @@ class ModelAdmin(BaseModelAdmin): if add: initial = self.get_changeform_initial_data(request) form = ModelForm(initial=initial) - formsets, inline_instances = self._create_formsets(request, self.model()) + formsets, inline_instances = self._create_formsets(request, self.model(), change=False) else: form = ModelForm(instance=obj) - formsets, inline_instances = self._create_formsets(request, obj) + formsets, inline_instances = self._create_formsets(request, obj, change=True) adminForm = helpers.AdminForm( form, @@ -1702,13 +1702,13 @@ class ModelAdmin(BaseModelAdmin): "admin/object_history.html" ], context, current_app=self.admin_site.name) - def _create_formsets(self, request, obj): + def _create_formsets(self, request, obj, change): "Helper function to generate formsets for add/change_view." formsets = [] inline_instances = [] prefixes = {} get_formsets_args = [request] - if obj.pk: + if change: get_formsets_args.append(obj) for FormSet, inline in self.get_formsets_with_inlines(*get_formsets_args): prefix = FormSet.get_default_prefix() |
