Commit 868b5e5e authored by Tim Graham's avatar Tim Graham
Browse files

[1.7.x] Fixed #22747 -- Add backwards compatibility tip for new behavior of...

[1.7.x] Fixed #22747 -- Add backwards compatibility tip for new behavior of formset.save(commit=False).

Thanks django at patjack.co.uk.

Backport of 2f7a7842 from master
parent 8d6e0d45
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -523,6 +523,18 @@ model instances for deleted forms will be deleted when you call
        >>> for obj in formset.deleted_objects:
        ...     obj.delete()

    If you want to maintain backwards compatibility with Django 1.6 and earlier,
    you can do something like this::

        >>> try:
        >>>     # For Django 1.7+
        >>>     for obj in formset.deleted_objects:
        >>>         obj.delete()
        >>> except AssertionError:
        >>>     # Django 1.6 and earlier already deletes the objects, trying to
        >>>     # delete them a second time raises an AssertionError.
        >>>     pass

On the other hand, if you are using a plain ``FormSet``, it's up to you to
handle ``formset.deleted_forms``, perhaps in your formset's ``save()`` method,
as there's no general notion of what it means to delete a form.