summaryrefslogtreecommitdiff
path: root/django/db/models/sql
diff options
context:
space:
mode:
authorAndrew Brown <brownan@gmail.com>2019-08-07 12:54:40 -0400
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2019-08-16 06:50:33 +0200
commit8a281aa7fe76a9da2284f943964a9413697cff1f (patch)
treeac0de078a534bee0635a799eee1eaa045cd74480 /django/db/models/sql
parent8289fc55fff879df273cb95fdd1b039447f85783 (diff)
Fixed #30687 -- Fixed using of OuterRef() expressions in distance lookups.
Diffstat (limited to 'django/db/models/sql')
-rw-r--r--django/db/models/sql/query.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/django/db/models/sql/query.py b/django/db/models/sql/query.py
index 1849d42081..4ad1fb3f36 100644
--- a/django/db/models/sql/query.py
+++ b/django/db/models/sql/query.py
@@ -1054,15 +1054,21 @@ class Query(BaseExpression):
elif isinstance(value, (list, tuple)):
# The items of the iterable may be expressions and therefore need
# to be resolved independently.
+ resolved_values = []
for sub_value in value:
if hasattr(sub_value, 'resolve_expression'):
if isinstance(sub_value, F):
- sub_value.resolve_expression(
+ resolved_values.append(sub_value.resolve_expression(
self, reuse=can_reuse, allow_joins=allow_joins,
simple_col=simple_col,
- )
+ ))
else:
- sub_value.resolve_expression(self, reuse=can_reuse, allow_joins=allow_joins)
+ resolved_values.append(sub_value.resolve_expression(
+ self, reuse=can_reuse, allow_joins=allow_joins,
+ ))
+ else:
+ resolved_values.append(sub_value)
+ value = tuple(resolved_values)
return value
def solve_lookup_type(self, lookup):