当前位置:首页 > 编程笔记 > 正文
已解决

python django获取某个角色的某个数据和——例如:获取所有订单的应付金额总和

来自网友在路上 186886提问 提问时间:2023-11-02 16:43:13阅读次数: 86

最佳答案 问答题库868位专家为你答疑解惑

model关系如下:

class Order(models.Model):'''订单'''product = models.ForeignKey('Product', on_delete=models.SET_NULL, blank=True, null=True, verbose_name="产品")no = models.CharField(max_length=50, blank=True, null=True, verbose_name='订单编号', db_index=True)total_money = models.BigIntegerField(default=0, blank=True, null=True, verbose_name='订单总金额(分)')settlement_money = models.BigIntegerField(default=0, blank=True, null=True, verbose_name='应付现金金额(分)')pay_money = models.BigIntegerField(default=0, blank=True, null=True, verbose_name='实付现金金额(分)')create_time = models.DateTimeField(auto_now_add=True, blank=True, null=True, verbose_name='创建时间')

获取指定时间段内所有订单的应付金额总和

方法一:使用aggregate()
from django.db.models import Q
from django.db.models import Sum
from . import models#方法一:
def get_count(request):lookups = Q()if request.GET.get('start_time'):lookups = lookups & Q(create_time__gte=request.GET.get('start_time')if request.GET.get('end_time')lookups = lookups & Q(create_time__lte=request.GET.get('end_time')total_order_money = models.Order.objects.filter(lookups).aggregate(total_settlement_money=Sum('settlement_money'))['total_settlement_money']
方法二:使用sum()

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"python django获取某个角色的某个数据和——例如:获取所有订单的应付金额总和":http://eshow365.cn/6-30348-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!