From 84ce18fc9bbb8a7debd8904f746ae8c57844d291 Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee Date: Sat, 14 Mar 2009 04:32:52 +0000 Subject: Fixed #10425 -- Corrected the interaction of .count() with .annotate() when .values() is also involved. Thanks to kmassey for the report. git-svn-id: http://code.djangoproject.com/svn/django/trunk@10053 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/db/models/sql/query.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'django/db/models/sql/query.py') diff --git a/django/db/models/sql/query.py b/django/db/models/sql/query.py index da34694fed..775dfae772 100644 --- a/django/db/models/sql/query.py +++ b/django/db/models/sql/query.py @@ -329,7 +329,7 @@ class BaseQuery(object): Performs a COUNT() query using the current filter constraints. """ obj = self.clone() - if len(self.select) > 1: + if len(self.select) > 1 or self.aggregate_select: # If a select clause exists, then the query has already started to # specify the columns that are to be returned. # In this case, we need to use a subquery to evaluate the count. @@ -1950,6 +1950,7 @@ class BaseQuery(object): # Clear out the select cache to reflect the new unmasked aggregates. self.aggregates = {None: count} self.set_aggregate_mask(None) + self.group_by = None def add_select_related(self, fields): """ -- cgit v1.3