django - Django:+:'int'和'str'不支持的操作数类型
问题描述
我想使用 aggregate(sum()) 函数对模型的所有字段求和,但出现此错误。
视图.py
def paymentdailyreport(request):
cashsum= Payment.objects.filter(PaymentMethod="Cash").aggregate(sum('Amount'))
print(cashsum)
context={
}
return render(request,'paymentdailyreport.html',context)
模型.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)
推荐阅读
- protocol-buffers - .Net Framework/C# - --grpc_out:protoc-gen-grpc:访问被拒绝问题
- php - Symfony 5 缓存:清除 php.CRITICAL:致命错误:允许的内存大小
- bash - 将 JSON 传递给 aws secretsmanager 时转义字符
- html - 如何使用css围绕文本创建一个圆圈?
- java - 将控制台输出打印到文本文件 Java?
- html - React Native:'top' 属性表现如预期,但 'bottom' 不是
- oracle - 创建一个插入 2 个具有关系的表的过程
- javascript - 我将如何定位一个可见但位于另一个元素下方的元素?
- javascript - 如何在 Redux 表单的向导中设置输入的默认值?
- integration-testing - @Transactional 在 @QuarkusTest 中不起作用