From f88fc72da4eb76f2d464edb4874ef6046f8a8658 Mon Sep 17 00:00:00 2001 From: Alexander Kerkum Date: Fri, 16 Sep 2022 16:47:50 +0200 Subject: Fixed #34016 -- Fixed QuerySet.values()/values_list() crash on ArrayAgg() and JSONBAgg(). Regression in e06dc4571ea9fd5723c8029959b95808be9f8812. --- django/contrib/postgres/aggregates/mixins.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'django/contrib/postgres') diff --git a/django/contrib/postgres/aggregates/mixins.py b/django/contrib/postgres/aggregates/mixins.py index b2f4097b8f..340a917879 100644 --- a/django/contrib/postgres/aggregates/mixins.py +++ b/django/contrib/postgres/aggregates/mixins.py @@ -14,10 +14,13 @@ class OrderableAggMixin: return super().resolve_expression(*args, **kwargs) def get_source_expressions(self): - return super().get_source_expressions() + [self.order_by] + if self.order_by.source_expressions: + return super().get_source_expressions() + [self.order_by] + return super().get_source_expressions() def set_source_expressions(self, exprs): - *exprs, self.order_by = exprs + if isinstance(exprs[-1], OrderByList): + *exprs, self.order_by = exprs return super().set_source_expressions(exprs) def as_sql(self, compiler, connection): -- cgit v1.3