Django - как суммировать значения одного и того же ключа?

Я хочу суммировать значение ключа count, если значения year_taken имеют дубликаты, как мне это сделать?

enter image description here

так что вывод будет выглядеть следующим образом

{'year_taken': '2019-2020', 'count': 1}, {'year_taken': '2021-2022', 'count': 3}

Вы можете попробовать следующее:

from django.db.models import IntegerField, OuterRef, Subquery

class SQCount(Subquery):
    output_field = IntegerField()
    template = f"(SELECT count(*) from (%(subquery)s)) _count)"

subquery_count = SQCount(Subject.objects.filter(year_taken=OuterRef("year_taken")))

queryset = Subject.objects.annotate(count=subquery_count).order_by("year_taken").distinct("year_taken").values("year_taken", "count")
Вернуться на верх