diff options
| author | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2022-01-17 18:01:07 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-01-17 18:01:07 +0100 |
| commit | 30a01441347d5a2146af2944b29778fa0834d4be (patch) | |
| tree | c5f5e76e05822df1542a76b5337b87d7fbe38db1 /django/db/models/sql/query.py | |
| parent | f37face331f21cb8af70fc4ec101ec7b6be1f63e (diff) | |
Fixed #29338 -- Allowed using combined queryset in Subquery.
Thanks Eugene Kovalev for the initial patch, Simon Charette for the
review, and Chetan Khanna for help.
Diffstat (limited to 'django/db/models/sql/query.py')
| -rw-r--r-- | django/db/models/sql/query.py | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/django/db/models/sql/query.py b/django/db/models/sql/query.py index b13c7b6893..e3fdea6f3a 100644 --- a/django/db/models/sql/query.py +++ b/django/db/models/sql/query.py @@ -1048,6 +1048,12 @@ class Query(BaseExpression): clone.bump_prefix(query) clone.subquery = True clone.where.resolve_expression(query, *args, **kwargs) + # Resolve combined queries. + if clone.combinator: + clone.combined_queries = tuple([ + combined_query.resolve_expression(query, *args, **kwargs) + for combined_query in clone.combined_queries + ]) for key, value in clone.annotations.items(): resolved = value.resolve_expression(query, *args, **kwargs) if hasattr(resolved, 'external_aliases'): |
