Skip to content

Commit 4b702c8

Browse files
charettesfelixxm
authored andcommitted
Refs #33374 -- Added tests for multi-table fast-deletion with filters that match everything.
1 parent 7990d25 commit 4b702c8

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

tests/delete/tests.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from math import ceil
22

33
from django.db import connection, models
4-
from django.db.models import ProtectedError, RestrictedError
4+
from django.db.models import ProtectedError, Q, RestrictedError
55
from django.db.models.deletion import Collector
66
from django.db.models.sql.constants import GET_ITERATOR_CHUNK_SIZE
77
from django.test import TestCase, skipIfDBFeature, skipUnlessDBFeature
@@ -776,3 +776,10 @@ def test_fast_delete_aggregation(self):
776776
(1, {"delete.Base": 1}),
777777
)
778778
self.assertIs(Base.objects.exists(), False)
779+
780+
def test_fast_delete_full_match(self):
781+
avatar = Avatar.objects.create(desc="bar")
782+
User.objects.create(avatar=avatar)
783+
with self.assertNumQueries(1):
784+
User.objects.filter(~Q(pk__in=[]) | Q(avatar__desc="foo")).delete()
785+
self.assertFalse(User.objects.exists())

0 commit comments

Comments
 (0)