Django: неподдерживаемые типы операндов для +: 'int' и 'str'

Я хочу просуммировать все поля модели с помощью функции aggregate(sum()), но получаю эту ошибку.

Views.py

def paymentdailyreport(request):
    cashsum= Payment.objects.filter(PaymentMethod="Cash").aggregate(sum('Amount'))
    print(cashsum)
    context={

    }
    return render(request,'paymentdailyreport.html',context)

Models.py

 class Payment(models.Model):
        Date=models.CharField(max_length=20)
        User=models.CharField(max_length=50)
        PatientName=models.CharField(max_length=50)
        Dentist=models.CharField(max_length=50)
        Scheme=models.CharField(max_length=50)
        PaymentMethod=models.CharField(max_length=50)
        Amount=models.DecimalField(max_digits=20,decimal_places=3)
        def __str__(self):
            return self.Date + " | " + self.User + " | " + self.PatientName

Вы не можете использовать встроенный sum для суммирования значений: вы определяете сумму с помощью выражения Sum [Django-doc]:

from django.db.models import Sum

def paymentdailyreport(request):
    #                                         use Sum instead of sum ↓
    cashsum= Payment.objects.filter(PaymentMethod="Cash").aggregate(Sum('Amount'))
    print(cashsum)
    context={
        'cashsum': cashsum
    }
    return render(request,'paymentdailyreport.html',context)
Вернуться на верх