У меня проблема с django python
comments = project.masarif.filter(active=True)
def sub_masarif():
for sub in comments:
total = 0
xdd = sub.count
total += (xdd)
print(total) # 3 4 69
мне нужна сумма total
< пример print(total) # 76
Вы каждый раз сбрасываете total
, следовательно, он каждый раз печатает текущее значение. Вы должны установить переменную total = 0
вне цикла, так:
def sub_masarif():
total = 0
for sub in project.masarif.filter(active=True):
xdd = sub.count
total += sub.count
print(total)
Но вы здесь агрегируете на уровне Django/Python. Обычно лучше делать это на стороне базы данных, так:
from django.db.models import Sum
def sub_masarif():
total = project.masarif.filter(active=True).aggregate(total=Sum('count'))['total']
print(total)