summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/delete_regress/tests.py21
1 files changed, 13 insertions, 8 deletions
diff --git a/tests/delete_regress/tests.py b/tests/delete_regress/tests.py
index 173f767b28..2540fd2802 100644
--- a/tests/delete_regress/tests.py
+++ b/tests/delete_regress/tests.py
@@ -379,15 +379,20 @@ class DeleteTests(TestCase):
child = Child.objects.create(name="Juan")
Book.objects.create(pagecount=500, owner=child)
PlayedWith.objects.create(child=child, toy=toy, date=datetime.date.today())
- Book.objects.filter(
- Exists(
- Book.objects.filter(
- pk=OuterRef("pk"),
- owner__toys=toy.pk,
- ),
- )
- ).delete()
+ with self.assertNumQueries(1) as ctx:
+ Book.objects.filter(
+ Exists(
+ Book.objects.filter(
+ pk=OuterRef("pk"),
+ owner__toys=toy.pk,
+ ),
+ )
+ ).delete()
+
self.assertIs(Book.objects.exists(), False)
+ sql = ctx.captured_queries[0]["sql"].lower()
+ if connection.features.delete_can_self_reference_subquery:
+ self.assertEqual(sql.count("select"), 1)
class DeleteDistinct(SimpleTestCase):