[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 2f7a7842ba
from master
This commit is contained in:
parent
8d6e0d4588
commit
868b5e5e95
|
@ -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.
|
||||
|
|
Loading…
Reference in New Issue