﻿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
31152	Annotating ArrayAgg and Subquery crashes with values().	Ivan Vasić	nobody	"Think I found a regression issue that does not happen with Django <3.0 and does in the latest 3.x releases.

{{{
Book.objects
            .annotate(
                labels=ArrayAgg(
                    ""reviews__labels"",
                    filter=Q(reviews__labels__isnull=False),
                    distinct=True,
                )
            )
            .annotate(
                fav_count=Subquery(
                    FavoriteBook.objects.filter(book=OuterRef(""pk""))
                    .annotate(count=Count(""id""))
                    .values(""count"")[:1],
                    output_field=IntegerField(),
                )
            )
           .values('id')
}}}

This crashes with 

{{{
django.db.utils.ProgrammingError: column ""fav_count"" does not exist
LINE 1: ..._labels"".""review_id"") GROUP BY ""myapp_book"".""id"", ""fav_count...
                                                             ^
}}}

(Disregard that it makes no sense to do annotations if we're only using ""id"" values - it's for the purpose of this example)

Asking for `.values('fav_count')` works though. I've compiled a small example project that contains all the models and a test case that reproduces this issue."	Bug	closed	Database layer (models, ORM)	3.0	Normal	duplicate			Unreviewed	0	0	0	0	0	0
