From f53059b41148da77e8c4cdfcdbec3a7514cd97c9 Mon Sep 17 00:00:00 2001 From: Anssi Kääriäinen Date: Mon, 20 May 2013 14:24:48 +0300 Subject: Fixed qs.values() regression when used in subquery --- django/db/models/sql/where.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'django/db/models/sql') diff --git a/django/db/models/sql/where.py b/django/db/models/sql/where.py index ff3d1bdcfb..08f9d6c837 100644 --- a/django/db/models/sql/where.py +++ b/django/db/models/sql/where.py @@ -399,7 +399,12 @@ class SubqueryConstraint(object): if hasattr(query, 'values'): if query._db and connection.alias != query._db: raise ValueError("Can't do subqueries with queries on different DBs.") - query = query.values(*self.targets).query + # Do not override already existing values. + if not hasattr(query, 'field_names'): + query = query.values(*self.targets) + else: + query = query._clone() + query = query.query query.clear_ordering(True) query_compiler = query.get_compiler(connection=connection) -- cgit v1.3