﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
34016	QuerySet.values_list() crash on simple ArrayAgg.	Alex Kerkum	Alex Kerkum	"Using `ArrayAgg` in combination with `values_list` results in 'TypeError: Complex expressions require an alias'.

For example:

{{{#!python
from django.contrib.postgres.aggregates import ArrayAgg
SampleUser.objects.values_list(ArrayAgg(""post_id""))

File django/db/models/aggregates.py:98, in Aggregate.default_alias(self)
     96 if len(expressions) == 1 and hasattr(expressions[0], ""name""):
     97     return ""%s__%s"" % (expressions[0].name, self.name.lower())
---> 98 raise TypeError(""Complex expressions require an alias"")

TypeError: Complex expressions require an alias
}}}

The {{{expressions}}} variable here seems to contain {{{[F(post_id), OrderByList()]}}} causing the {{{len(expressions)}}} check to fail. That's as far as I got.

To me this seems related to #33898 caused by a regression in https://github.com/django/django/commit/e06dc4571ea9fd5723c8029959b95808be9f8812

This still worked in 4.0.7."	Bug	closed	contrib.postgres	4.1	Release blocker	fixed		Simon Charette	Ready for checkin	1	0	0	0	0	0
