Queryset, аннотированный с помощью Count, подсчитывает неправильные вхождения
Я хочу подсчитать, сколько раз имя встречается в наборе запросов:
items = items.values("name").annotate(count=Count("name")).order_by("-count")
Это должно вернуть следующий набор запросов:
[
{
"name": "Item 1",
"count": 1
},
{
"name": "Item 2",
"count": 4
},
{
"name": "Item 3",
"count": 12
},
]
При этом возвращаются неправильные подсчеты, например, предметы, которые должны встречаться 1 раз, считаются 17, а предметы, которые должны встречаться 3 раза, считаются 51, но почему-то умножаются на 17. Как это можно решить?