summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--django/db/models/sql/query.py10
1 files changed, 2 insertions, 8 deletions
diff --git a/django/db/models/sql/query.py b/django/db/models/sql/query.py
index 408b697b48..6cdba87d06 100644
--- a/django/db/models/sql/query.py
+++ b/django/db/models/sql/query.py
@@ -784,21 +784,15 @@ class Query(object):
"""
assert set(change_map.keys()).intersection(set(change_map.values())) == set()
- def relabel_column(col):
- if isinstance(col, (list, tuple)):
- old_alias = col[0]
- return (change_map.get(old_alias, old_alias), col[1])
- else:
- return col.relabeled_clone(change_map)
# 1. Update references in "select" (normal columns plus aliases),
# "group by" and "where".
self.where.relabel_aliases(change_map)
if isinstance(self.group_by, list):
- self.group_by = [relabel_column(col) for col in self.group_by]
+ self.group_by = [col.relabeled_clone(change_map) for col in self.group_by]
self.select = [col.relabeled_clone(change_map) for col in self.select]
if self._annotations:
self._annotations = OrderedDict(
- (key, relabel_column(col)) for key, col in self._annotations.items())
+ (key, col.relabeled_clone(change_map)) for key, col in self._annotations.items())
# 2. Rename the alias in the internal table/alias datastructures.
for old_alias, new_alias in six.iteritems(change_map):