From b495d8e334c2487eef6282bac5dd0c1f43da71ef Mon Sep 17 00:00:00 2001 From: Simon Charette Date: Sat, 10 Sep 2016 20:30:14 -0400 Subject: [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 --- tests/delete/tests.py | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'tests') 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 -- cgit v1.3