summaryrefslogtreecommitdiff
path: root/django/db/models/sql
diff options
context:
space:
mode:
Diffstat (limited to 'django/db/models/sql')
-rw-r--r--django/db/models/sql/query.py18
1 files changed, 10 insertions, 8 deletions
diff --git a/django/db/models/sql/query.py b/django/db/models/sql/query.py
index 1a86266e6c..d0b56449b2 100644
--- a/django/db/models/sql/query.py
+++ b/django/db/models/sql/query.py
@@ -17,7 +17,9 @@ from django.db import DEFAULT_DB_ALIAS, connections
from django.db.models.aggregates import Count
from django.db.models.constants import LOOKUP_SEP
from django.db.models.expressions import Col, Ref
-from django.db.models.query_utils import Q, PathInfo, refs_aggregate
+from django.db.models.query_utils import (
+ Q, PathInfo, refs_aggregate, refs_expression,
+)
from django.db.models.sql.constants import (
INNER, LOUTER, ORDER_DIR, ORDER_PATTERN, QUERY_TERMS, SINGLE,
)
@@ -1027,9 +1029,9 @@ class Query(object):
"""
lookup_splitted = lookup.split(LOOKUP_SEP)
if self._annotations:
- aggregate, aggregate_lookups = refs_aggregate(lookup_splitted, self.annotations)
- if aggregate:
- return aggregate_lookups, (), aggregate
+ expression, expression_lookups = refs_expression(lookup_splitted, self.annotations)
+ if expression:
+ return expression_lookups, (), expression
_, field, _, lookup_parts = self.names_to_path(lookup_splitted, self.get_meta())
field_parts = lookup_splitted[0:len(lookup_splitted) - len(lookup_parts)]
if len(lookup_parts) == 0:
@@ -1144,7 +1146,7 @@ class Query(object):
arg, value = filter_expr
if not arg:
raise FieldError("Cannot parse keyword query %r" % arg)
- lookups, parts, reffed_aggregate = self.solve_lookup_type(arg)
+ lookups, parts, reffed_expression = self.solve_lookup_type(arg)
if not allow_joins and len(parts) > 1:
raise FieldError("Joined field references are not permitted in this query")
@@ -1153,12 +1155,12 @@ class Query(object):
value, lookups, used_joins = self.prepare_lookup_value(value, lookups, can_reuse, allow_joins)
clause = self.where_class()
- if reffed_aggregate:
- condition = self.build_lookup(lookups, reffed_aggregate, value)
+ if reffed_expression:
+ condition = self.build_lookup(lookups, reffed_expression, value)
if not condition:
# Backwards compat for custom lookups
assert len(lookups) == 1
- condition = (reffed_aggregate, lookups[0], value)
+ condition = (reffed_expression, lookups[0], value)
clause.add(condition, AND)
return clause, []