diff options
Diffstat (limited to 'django')
| -rw-r--r-- | django/db/models/expressions.py | 7 |
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) |
