summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
Diffstat (limited to 'django')
-rw-r--r--django/db/models/expressions.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/django/db/models/expressions.py b/django/db/models/expressions.py
index 8361e42d20..ed57599a15 100644
--- a/django/db/models/expressions.py
+++ b/django/db/models/expressions.py
@@ -940,10 +940,15 @@ class Subquery(Expression):
def resolve(child):
if hasattr(child, 'resolve_expression'):
- return child.resolve_expression(
+ resolved = child.resolve_expression(
query=query, allow_joins=allow_joins, reuse=reuse,
summarize=summarize, for_save=for_save,
)
+ # Add table alias to the parent query's aliases to prevent
+ # quoting.
+ if hasattr(resolved, 'alias'):
+ clone.queryset.query.external_aliases.add(resolved.alias)
+ return resolved
return child
resolve_all(clone.queryset.query.where)