summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorSimon Charette <charette.s@gmail.com>2025-02-09 21:42:06 -0500
committerSarah Boyce <42296566+sarahboyce@users.noreply.github.com>2025-02-13 09:31:01 +0100
commit771c250b106f8f4beda42c104c60498ed568b5e2 (patch)
tree2bdbaaa67c3a1e5b15d48f158a15cfcb527acfed /tests
parentdc1c9b4ddd3ca64279da7c97b5023fbedf2340e2 (diff)
[5.2.x] Fixed #36181 -- Allowed Subquery usage in __in lookups against composite pks.
Thanks Jacob Walls for the report. Backport of 8561100425876bde3be4b2a22324655f74ff9609 from main.
Diffstat (limited to 'tests')
-rw-r--r--tests/composite_pk/test_filter.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/tests/composite_pk/test_filter.py b/tests/composite_pk/test_filter.py
index d4c6ef13e0..c633348cc1 100644
--- a/tests/composite_pk/test_filter.py
+++ b/tests/composite_pk/test_filter.py
@@ -442,6 +442,11 @@ class CompositePKFilterTests(TestCase):
with self.assertRaisesMessage(ValueError, msg):
Comment.objects.filter(text__gt=Cast(F("pk"), TextField())).count()
+ def test_explicit_subquery(self):
+ subquery = Subquery(User.objects.values("pk"))
+ self.assertEqual(User.objects.filter(pk__in=subquery).count(), 4)
+ self.assertEqual(Comment.objects.filter(user__in=subquery).count(), 5)
+
def test_filter_case_when(self):
msg = "When expression does not support composite primary keys."
with self.assertRaisesMessage(ValueError, msg):