diff options
author | Simon Charette <charette.s@gmail.com> | 2023-04-06 08:19:53 -0400 |
---|---|---|
committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2023-04-07 06:57:32 +0200 |
commit | 9daf8b4109c3e133eb57349bb44d73cc60c5773c (patch) | |
tree | f5503798f3a605bbbc890dcfe345b6fe6214467e /django | |
parent | 1c7aed71ec70d4ef0c2cae6de9cee844d03e7054 (diff) | |
download | django-9daf8b4109c3e133eb57349bb44d73cc60c5773c.tar.gz |
Fixed #34464 -- Fixed queryset aggregation over group by reference.
Regression in 59bea9efd2768102fc9d3aedda469502c218e9b7.
Refs #28477.
Thanks Ian Cubitt for the report.
Diffstat (limited to 'django')
-rw-r--r-- | django/db/models/sql/query.py | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/django/db/models/sql/query.py b/django/db/models/sql/query.py index ef55dbe3a9..2ffcfaa10c 100644 --- a/django/db/models/sql/query.py +++ b/django/db/models/sql/query.py @@ -453,6 +453,9 @@ class Query(BaseExpression): # filtering against window functions is involved as it # requires complex realising. annotation_mask = set() + if isinstance(self.group_by, tuple): + for expr in self.group_by: + annotation_mask |= expr.get_refs() for aggregate in aggregates.values(): annotation_mask |= aggregate.get_refs() inner_query.set_annotation_mask(annotation_mask) |