Прежде всего, массивы, как правило, не являются хорошо реализованной структурой в большинстве (всех) баз данных, поэтому я бы посоветовал держаться от нее как можно дальше. Тем более что он структурирует построчные данные в один столбец, что затрудняет выполнение JOIN
с и т. Д.
Но если вы действительно этого хотите, вы можете использовать агрегатную функцию ArrayAgg
. Это, однако, специфичная для PostgreSQL функция , поэтому вы теряете некоторую свободу выбора другой системы баз данных.
Тогда вы, вероятно, сможете получить такой результат с помощью:
from django.contrib.postgres.aggregates import <b>ArrayAgg</b>
Application.objects.annotate(
score_array=<b>ArrayAgg('judge__total_score')</b>
)
Так что для этого не требуется SubQuery
.