У меня сработал этот запрос:
select unnest(tags) as tag, count(tags) from model group by tag;
Если честно, я не знаю, как преобразовать его в Django ORM. Не стесняйтесь редактировать этот ответ, чтобы добавить его.
Но вы можете выполнить этот запрос в Django:
from django.db.models import Func, F
Model.objects.annotate(tag=Func(F('tags'), function='unnest')).values_list('tag').annotate(c=Count('id'))
Я создал следующую таблицу и заполнил ее образцами значений:
create table model(
id serial primary key,
name text,
tags text[]
);
insert into model(name, tags) values ('a', array['a', 'b', 'c']);
insert into model(name, tags) values ('b', array['b', 'b', 'c']);
select unnest(tags) as tag, count(tags) from model group by tag;
+---+-----+
|tag|count|
+---+-----+
|c |2 |
|a |1 |
|b |3 |
+---+-----+