summaryrefslogtreecommitdiff
path: root/django/db/models/sql/query.py
diff options
context:
space:
mode:
Diffstat (limited to 'django/db/models/sql/query.py')
-rw-r--r--django/db/models/sql/query.py12
1 files changed, 6 insertions, 6 deletions
diff --git a/django/db/models/sql/query.py b/django/db/models/sql/query.py
index 7b1695e051..9a19a9ea95 100644
--- a/django/db/models/sql/query.py
+++ b/django/db/models/sql/query.py
@@ -148,7 +148,7 @@ class Query(object):
return sql % params
def __deepcopy__(self, memo):
- result= self.clone()
+ result = self.clone(memo=memo)
memo[id(self)] = result
return result
@@ -199,7 +199,7 @@ class Query(object):
"""
return self.model._meta
- def clone(self, klass=None, **kwargs):
+ def clone(self, klass=None, memo=None, **kwargs):
"""
Creates a copy of the current instance. The 'kwargs' parameter can be
used by clients to update attributes after copying has taken place.
@@ -223,19 +223,19 @@ class Query(object):
obj.dupe_avoidance = self.dupe_avoidance.copy()
obj.select = self.select[:]
obj.tables = self.tables[:]
- obj.where = deepcopy(self.where)
+ obj.where = deepcopy(self.where, memo=memo)
obj.where_class = self.where_class
if self.group_by is None:
obj.group_by = None
else:
obj.group_by = self.group_by[:]
- obj.having = deepcopy(self.having)
+ obj.having = deepcopy(self.having, memo=memo)
obj.order_by = self.order_by[:]
obj.low_mark, obj.high_mark = self.low_mark, self.high_mark
obj.distinct = self.distinct
obj.select_related = self.select_related
obj.related_select_cols = []
- obj.aggregates = deepcopy(self.aggregates)
+ obj.aggregates = deepcopy(self.aggregates, memo=memo)
if self.aggregate_select_mask is None:
obj.aggregate_select_mask = None
else:
@@ -256,7 +256,7 @@ class Query(object):
obj._extra_select_cache = self._extra_select_cache.copy()
obj.extra_tables = self.extra_tables
obj.extra_order_by = self.extra_order_by
- obj.deferred_loading = deepcopy(self.deferred_loading)
+ obj.deferred_loading = deepcopy(self.deferred_loading, memo=memo)
if self.filter_is_sticky and self.used_aliases:
obj.used_aliases = self.used_aliases.copy()
else: