summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/modeltests/delete/tests.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/modeltests/delete/tests.py b/tests/modeltests/delete/tests.py
index 20b815c33d..0a3ddcfc2e 100644
--- a/tests/modeltests/delete/tests.py
+++ b/tests/modeltests/delete/tests.py
@@ -229,6 +229,27 @@ class DeletionTests(TestCase):
models.signals.post_delete.disconnect(log_post_delete)
models.signals.post_delete.disconnect(log_pre_delete)
+ def test_relational_post_delete_signals_happen_before_parent_object(self):
+ deletions = []
+
+ def log_post_delete(instance, **kwargs):
+ self.assertTrue(R.objects.filter(pk=instance.r_id))
+ self.assertEquals(type(instance), S)
+ deletions.append(instance.id)
+
+ r = R.objects.create(pk=1)
+ S.objects.create(pk=1, r=r)
+
+ models.signals.post_delete.connect(log_post_delete, sender=S)
+
+ try:
+ r.delete()
+ finally:
+ models.signals.post_delete.disconnect(log_post_delete)
+
+ self.assertEquals(len(deletions), 1)
+ self.assertEquals(deletions[0], 1)
+
@skipUnlessDBFeature("can_defer_constraint_checks")
def test_can_defer_constraint_checks(self):
u = User.objects.create(