summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorRussell Keith-Magee <russell@keith-magee.com>2009-01-20 12:23:48 +0000
committerRussell Keith-Magee <russell@keith-magee.com>2009-01-20 12:23:48 +0000
commit39516803f1e504db5d8a731e8fd3367bb9c016cc (patch)
tree389f2cfae438c25a7d8d8e2d79b3ac8c1046758b /django
parent728108883a64db4f045827640adc62c09f5b6a8c (diff)
Fixed #10064 -- Corrected handling of aggregate queries that also use select_related(). Thanks to olivius for the report.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@9781 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django')
-rw-r--r--django/db/models/sql/query.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/django/db/models/sql/query.py b/django/db/models/sql/query.py
index 156617f807..b961ac9eeb 100644
--- a/django/db/models/sql/query.py
+++ b/django/db/models/sql/query.py
@@ -250,11 +250,12 @@ class BaseQuery(object):
if self.aggregate_select:
aggregate_start = len(self.extra_select.keys()) + len(self.select)
+ aggregate_end = aggregate_start + len(self.aggregate_select)
row = tuple(row[:aggregate_start]) + tuple([
self.resolve_aggregate(value, aggregate)
for (alias, aggregate), value
- in zip(self.aggregate_select.items(), row[aggregate_start:])
- ])
+ in zip(self.aggregate_select.items(), row[aggregate_start:aggregate_end])
+ ]) + tuple(row[aggregate_end:])
yield row