from django.db.models import Sum , Count from django.utils import timezone from Movement.models import ( Calendar, ExpenseOrCredit, ChartOfAccount, ) def metric(Prof_id): current_month = timezone.localtime(timezone.now()).month current_year = timezone.localtime(timezone.now()).year # pegando total de Despesas debit = ChartOfAccount.objects.filter( firm=False, debit=False, credit=True, prof=True, ) expense = {} total_geral_despesas = 0 for bank in debit: sum_bank = ExpenseOrCredit.objects.filter( # active=True, date__month=current_month, date__year=current_year, chart_of_account__id=bank.id, professional__id=Prof_id, ) total_geral_despesas += sum_bank.aggregate(Sum('gross_value'))['gross_value__sum'] or 0 expense[bank.name] = { 'sum_credit': sum_bank.aggregate(Sum('gross_value'))['gross_value__sum'] or 0, 'list_credit': sum_bank , } return { 'sum_credit': expense, 'sum_credit_all': total_geral_despesas, }