mirror of
https://github.com/django/django.git
synced 2025-07-06 18:59:13 +00:00
queryset-refactor: Fixed values(...).select_related(...) bug that was
introduced in [6512]. The lookup tests picked this up. git-svn-id: http://code.djangoproject.com/svn/django/branches/queryset-refactor@6517 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
70d5e32e13
commit
f74464da52
@ -416,6 +416,7 @@ class ValuesQuerySet(QuerySet):
|
|||||||
field_names = [f.attname for f in fields]
|
field_names = [f.attname for f in fields]
|
||||||
|
|
||||||
self.query.add_local_columns([f.column for f in fields])
|
self.query.add_local_columns([f.column for f in fields])
|
||||||
|
self.query.default_cols = False
|
||||||
self.field_names = field_names
|
self.field_names = field_names
|
||||||
|
|
||||||
def _clone(self, klass=None, setup=False, **kwargs):
|
def _clone(self, klass=None, setup=False, **kwargs):
|
||||||
|
@ -75,6 +75,7 @@ class Query(object):
|
|||||||
self.table_map = {} # Maps table names to list of aliases.
|
self.table_map = {} # Maps table names to list of aliases.
|
||||||
self.join_map = {} # Maps join_tuple to list of aliases.
|
self.join_map = {} # Maps join_tuple to list of aliases.
|
||||||
self.rev_join_map = {} # Reverse of join_map.
|
self.rev_join_map = {} # Reverse of join_map.
|
||||||
|
self.default_cols = True
|
||||||
|
|
||||||
# SQL-related attributes
|
# SQL-related attributes
|
||||||
self.select = []
|
self.select = []
|
||||||
@ -129,6 +130,7 @@ class Query(object):
|
|||||||
obj.alias_map = copy.deepcopy(self.alias_map)
|
obj.alias_map = copy.deepcopy(self.alias_map)
|
||||||
obj.join_map = copy.deepcopy(self.join_map)
|
obj.join_map = copy.deepcopy(self.join_map)
|
||||||
obj.rev_join_map = copy.deepcopy(self.rev_join_map)
|
obj.rev_join_map = copy.deepcopy(self.rev_join_map)
|
||||||
|
obj.default_cols = self.default_cols
|
||||||
obj.select = self.select[:]
|
obj.select = self.select[:]
|
||||||
obj.tables = self.tables[:]
|
obj.tables = self.tables[:]
|
||||||
obj.where = copy.deepcopy(self.where)
|
obj.where = copy.deepcopy(self.where)
|
||||||
@ -353,7 +355,7 @@ class Query(object):
|
|||||||
result.append(col.as_sql(quote_func=qn))
|
result.append(col.as_sql(quote_func=qn))
|
||||||
if hasattr(col, 'alias'):
|
if hasattr(col, 'alias'):
|
||||||
aliases.append(col.alias)
|
aliases.append(col.alias)
|
||||||
else:
|
elif self.default_cols:
|
||||||
table_alias = self.tables[0]
|
table_alias = self.tables[0]
|
||||||
result = ['%s.%s' % (qn(table_alias), qn(f.column))
|
result = ['%s.%s' % (qn(table_alias), qn(f.column))
|
||||||
for f in self.model._meta.fields]
|
for f in self.model._meta.fields]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user