From 15793309e16dcdf5de17594eaef1962a7c35ce31 Mon Sep 17 00:00:00 2001 From: Ramiro Morales Date: Sat, 21 May 2011 13:12:23 +0000 Subject: Fixed #14476 -- Fixed resolution of automatically generated annotation names so e.g. filtering based on them works. Thanks dirleyls for the report and patch. git-svn-id: http://code.djangoproject.com/svn/django/trunk@16252 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/db/models/sql/query.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'django/db/models/sql') diff --git a/django/db/models/sql/query.py b/django/db/models/sql/query.py index 27c6859c61..99663b646b 100644 --- a/django/db/models/sql/query.py +++ b/django/db/models/sql/query.py @@ -1053,14 +1053,14 @@ class Query(object): value = SQLEvaluator(value, self) having_clause = value.contains_aggregate - if parts[0] in self.aggregates: - aggregate = self.aggregates[parts[0]] - entry = self.where_class() - entry.add((aggregate, lookup_type, value), AND) - if negate: - entry.negate() - self.having.add(entry, connector) - return + for alias, aggregate in self.aggregates.items(): + if alias in (parts[0], LOOKUP_SEP.join(parts)): + entry = self.where_class() + entry.add((aggregate, lookup_type, value), AND) + if negate: + entry.negate() + self.having.add(entry, connector) + return opts = self.get_meta() alias = self.get_initial_alias() -- cgit v1.3