From e441847ecae99dd1ccd0d9ce76dbcff51afa863c Mon Sep 17 00:00:00 2001 From: Keryn Knight Date: Mon, 26 Jul 2021 19:19:38 +0100 Subject: [PATCH] Fixed #32970 -- Changed WhereNode.clone() to create a shallow copy of children. --- django/db/models/sql/where.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/django/db/models/sql/where.py b/django/db/models/sql/where.py index 8b2cc8c046d..160d5733b84 100644 --- a/django/db/models/sql/where.py +++ b/django/db/models/sql/where.py @@ -146,12 +146,9 @@ class WhereNode(tree.Node): value) tuples, or objects supporting .clone(). """ clone = self.__class__._new_instance( - children=[], connector=self.connector, negated=self.negated) - for child in self.children: - if hasattr(child, 'clone'): - clone.children.append(child.clone()) - else: - clone.children.append(child) + children=None, connector=self.connector, negated=self.negated, + ) + clone.children = self.children[:] return clone def relabeled_clone(self, change_map):