Как подсчитать каждое вхождение в каждом агрегате django

У меня есть запрос ниже, который я использую для получения определенных отношений между N1 и N2 (имеет внешний ключ rel к N1).

В ArrAgg группируются все аннотированные ch, что и так прекрасно работает, но мне интересно, можно ли переписать запрос, чтобы подсчитывать каждое вхождение элементов в ch

edits = N2.objects.all().prefetch_related('n1').values("n1_id", "n1__url").annotate(ch=ArrayAgg("w_c"), v_t=Count('w_c'))

Текущий набор запросов:

<QuerySet [
{'n1_id': 31, 'n1__url': 'https://google.com', 'ch': ['t1', 't1', 't1', 't2', 't3', 't3', 't2', 't2'], 'v_t': 8}]>

Желаемый набор запросов (или что-то подобное)

<QuerySet [
{'n1_id': 31, 'n1__url': 'https://google.com', 'ch': ('t1', 3), ('t2', 3), ('t3', 2)}]>

Я мог бы написать тег шаблона, который использует счетчик из коллекций, затем использовать его в шаблоне, но интересно, возможно ли это в обычном ORM.

Вернуться на верх