У меня проблема с 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)
Вернуться на верх