summaryrefslogtreecommitdiff
path: root/docs/topics/forms
diff options
context:
space:
mode:
authorTim Graham <timograham@gmail.com>2014-06-04 12:37:10 -0400
committerTim Graham <timograham@gmail.com>2014-06-04 12:42:23 -0400
commit868b5e5e957eae6d88be12b2e52ca971de81ed8d (patch)
treeb40d068de49f90b1da88e6142975855b20630140 /docs/topics/forms
parent8d6e0d45882444cf528b10832811fa19613f184a (diff)
[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
Diffstat (limited to 'docs/topics/forms')
-rw-r--r--docs/topics/forms/formsets.txt12
1 files changed, 12 insertions, 0 deletions
diff --git a/docs/topics/forms/formsets.txt b/docs/topics/forms/formsets.txt
index a1e30b341b..b7f0317875 100644
--- a/docs/topics/forms/formsets.txt
+++ b/docs/topics/forms/formsets.txt
@@ -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.