summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorSimon Charette <charette.s@gmail.com>2016-09-10 20:30:14 -0400
committerSimon Charette <charette.s@gmail.com>2016-11-15 20:50:41 -0500
commitb495d8e334c2487eef6282bac5dd0c1f43da71ef (patch)
tree5cc33f043001266f8021a704d1b8c1c92c1d1da4 /tests
parentd2fc204694fa57a56da819b00a204a39eea55d82 (diff)
[1.10.x] Fixed #27407 -- Made Model.delete(keep_parents=True) preserve parent reverse relationships.
Thanks Tim for the review. Backport of 31a56e30cfb3c8e1a9373e5abdd12b5b23d5d910 from master
Diffstat (limited to 'tests')
-rw-r--r--tests/delete/tests.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/tests/delete/tests.py b/tests/delete/tests.py
index 9bb179cb3f..f562bc4918 100644
--- a/tests/delete/tests.py
+++ b/tests/delete/tests.py
@@ -359,6 +359,15 @@ class DeletionTests(TestCase):
self.assertFalse(RChild.objects.filter(id=child.id).exists())
self.assertTrue(R.objects.filter(id=parent_id).exists())
+ def test_delete_with_keeping_parents_relationships(self):
+ child = RChild.objects.create()
+ parent_id = child.r_ptr_id
+ parent_referent_id = S.objects.create(r=child.r_ptr).pk
+ child.delete(keep_parents=True)
+ self.assertFalse(RChild.objects.filter(id=child.id).exists())
+ self.assertTrue(R.objects.filter(id=parent_id).exists())
+ self.assertTrue(S.objects.filter(pk=parent_referent_id).exists())
+
def test_queryset_delete_returns_num_rows(self):
"""
QuerySet.delete() should return the number of deleted rows and a