1
0
mirror of https://github.com/django/django.git synced 2025-10-24 14:16:09 +00:00

Fixed #32717 -- Fixed filtering of querysets combined with the | operator.

Address a long standing bug in a Where.add optimization to discard
equal nodes that was surfaced by implementing equality for Lookup
instances in bbf141bcdc.

Thanks Shaheed Haque for the report.
This commit is contained in:
Simon Charette
2021-05-11 01:19:44 -04:00
committed by Mariusz Felisiak
parent 3733ae8957
commit b81c7562fc
4 changed files with 13 additions and 1 deletions

View File

@@ -57,6 +57,11 @@ class NodeTests(unittest.TestCase):
self.assertEqual(len(self.node1) + 1, len(node3))
self.assertEqual(str(node3), "(DEFAULT: ('a', 1), ('b', 2), ('c', 3))")
def test_add_eq_child_mixed_connector(self):
node = Node(['a', 'b'], 'OR')
self.assertEqual(node.add('a', 'AND'), 'a')
self.assertEqual(node, Node([Node(['a', 'b'], 'OR'), 'a'], 'AND'))
def test_negate(self):
# negated is False by default
self.assertFalse(self.node1.negated)