Django - как суммировать значения одного и того же ключа?
Я хочу суммировать значение ключа count, если значения year_taken имеют дубликаты, как мне это сделать?
так что вывод будет выглядеть следующим образом
{'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")