#34016: QuerySet.values_list crash when using ArrayAgg
--------------------------------------------+------------------------
Reporter: Alex Kerkum | Owner: (none)
Type: Bug | Status: new
Component: contrib.postgres | Version: 4.1
Severity: Normal | Keywords:
Triage Stage: Unreviewed | Has patch: 0
Needs documentation: 0 | Needs tests: 0
Patch needs improvement: 0 | Easy pickings: 0
UI/UX: 0 |
--------------------------------------------+------------------------
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.
This still worked in 4.0.7.
--
Ticket URL: <https://code.djangoproject.com/ticket/34016>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/0107018345712977-ecbe1c27-8868-4a47-aa99-3a27edd1079a-000000%40eu-central-1.amazonses.com.