diff options
| author | Alexander Kerkum <alex.kerkum@waarneming.nl> | 2022-09-16 16:47:50 +0200 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2022-09-17 19:38:20 +0200 |
| commit | f88fc72da4eb76f2d464edb4874ef6046f8a8658 (patch) | |
| tree | 8a891bf5c8d2877dbb0565c8792665b96d9ce3d0 /django | |
| parent | ae509f8f0804dea0eea89e27329014616c9d4cc0 (diff) | |
Fixed #34016 -- Fixed QuerySet.values()/values_list() crash on ArrayAgg() and JSONBAgg().
Regression in e06dc4571ea9fd5723c8029959b95808be9f8812.
Diffstat (limited to 'django')
| -rw-r--r-- | django/contrib/postgres/aggregates/mixins.py | 7 |
1 files changed, 5 insertions, 2 deletions
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): |
