Commit 0ffa3943 authored by Simon Litchfield's avatar Simon Litchfield Committed by Tim Graham
Browse files

Fixed #25097 -- Added BaseModelFormSet.delete_existing() hook.

parent 561c018d
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -632,6 +632,11 @@ class BaseModelFormSet(BaseFormSet):
        """Saves and returns an existing model instance for the given form."""
        return form.save(commit=commit)

    def delete_existing(self, obj, commit=True):
        """Deletes an existing model instance."""
        if commit:
            obj.delete()

    def save(self, commit=True):
        """Saves model instances for every form, adding and changing instances
        as necessary, and returns the list of instances.
@@ -756,8 +761,7 @@ class BaseModelFormSet(BaseFormSet):
                if obj.pk is None:
                    continue
                self.deleted_objects.append(obj)
                if commit:
                    obj.delete()
                self.delete_existing(obj, commit=commit)
            elif form.has_changed():
                self.changed_objects.append((obj, form.changed_data))
                saved_instances.append(self.save_existing(form, obj, commit=commit))