From efce21497cc21140c5fe2b133064cd815c97b3f5 Mon Sep 17 00:00:00 2001 From: Mariusz Felisiak Date: Thu, 18 Feb 2021 21:32:38 +0100 Subject: [PATCH] Refs #32455 -- Added tests for left combining an empty Q() with boolean expressions. --- tests/expressions/tests.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tests/expressions/tests.py b/tests/expressions/tests.py index 08ea0a51d35..770a57d66ec 100644 --- a/tests/expressions/tests.py +++ b/tests/expressions/tests.py @@ -816,6 +816,18 @@ class BasicExpressionsTests(TestCase): [self.example_inc.ceo, self.max], ) + def test_boolean_expression_combined_with_empty_Q(self): + is_poc = Company.objects.filter(point_of_contact=OuterRef('pk')) + self.gmbh.point_of_contact = self.max + self.gmbh.save() + tests = [ + Exists(is_poc) & Q(), + Exists(is_poc) | Q(), + ] + for conditions in tests: + with self.subTest(conditions): + self.assertCountEqual(Employee.objects.filter(conditions), [self.max]) + class IterableLookupInnerExpressionsTests(TestCase): @classmethod