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

model关系如下:

python 复制代码
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()
python 复制代码
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()
相关推荐
white-persist15 分钟前
Python实例方法与Python类的构造方法全解析
开发语言·前端·python·原型模式
Java 码农40 分钟前
Centos7 maven 安装
java·python·centos·maven
安当加密1 小时前
MySQL数据库透明加密(TDE)解决方案:基于国密SM4的合规与性能优化实践
数据库·mysql·性能优化
倔强青铜三1 小时前
苦练Python第63天:零基础玩转TOML配置读写,tomllib模块实战
人工智能·python·面试
JH30732 小时前
第七篇:Buffer Pool 与 InnoDB 其他组件的协作
java·数据库·mysql·oracle
板凳坐着晒太阳2 小时前
ClickHouse 配置优化与问题解决
数据库·clickhouse
数据库生产实战2 小时前
解析Oracle 19C中并行INSERT SELECT的工作原理
数据库·oracle
浔川python社2 小时前
《网络爬虫技术规范与应用指南系列》(xc—3):合规实操与场景落地
python
B站计算机毕业设计之家2 小时前
智慧交通项目:Python+YOLOv8 实时交通标志系统 深度学习实战(TT100K+PySide6 源码+文档)✅
人工智能·python·深度学习·yolo·计算机视觉·智慧交通·交通标志
IT森林里的程序猿2 小时前
基于机器学习方法的网球比赛胜负趋势预测
python·机器学习·django