Тебе вообще не следует возвращать генератор. Генератор должен быть входом для функции суммы.
На данный момент вы фактически создаете список элементов, каждый из которых представляет собой «сумму» одного значения. Вот почему вы получаете ошибку о не повторяемости; это cd.count
, которое не повторяется, потому что это одно значение, и вы не можете его суммировать.
Я подозреваю, что вы имели в виду сложение всех подсчетов:
deaths = sum(cd.count for cd in ChickenDeath.objects.filter(...))
но это не правильно. Вы должны попросить базу данных сделать сумму для вас:
from django.db.models import Sum
deaths = ChickenDeath.objects.filter(...).aggregate(total=Sum('count'))
print(deaths['total'])