summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorSimon Charette <charette.s@gmail.com>2023-04-06 08:19:53 -0400
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2023-04-07 06:57:32 +0200
commit9daf8b4109c3e133eb57349bb44d73cc60c5773c (patch)
treef5503798f3a605bbbc890dcfe345b6fe6214467e /django
parent1c7aed71ec70d4ef0c2cae6de9cee844d03e7054 (diff)
downloaddjango-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.py3
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)