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()
相关推荐
云老大TG:@yunlaoda3604 分钟前
如何使用华为云国际站代理商的BRS进行数据安全保障?
大数据·数据库·华为云·云计算
free-elcmacom7 分钟前
机器学习高阶教程<7>Transformer原理全景解读:从“序列困境”到“注意力革命”
人工智能·python·机器学习·transformer
工具人55558 分钟前
strip()方法可以删除字符串中间空格吗
数据库·mysql
RwwH9 分钟前
PyCharm虚拟环境创建
ide·python·pycharm
松涛和鸣11 分钟前
35、Linux IPC进阶:信号与System V共享内存
linux·运维·服务器·数据库·算法·list
码海踏浪14 分钟前
JMeter 时间函数合集
开发语言·python
serve the people15 分钟前
tensorflow 深度解析 Sequential 模型的输入形状指定
人工智能·python·tensorflow
SunnyDays101116 分钟前
Python 实现 PDF 文档压缩:完整指南
linux·开发语言·python
长安牧笛16 分钟前
设计考研党备考开支追踪程序,记录教材,网课,报名费支出,按科目统计花费,优化备考预算分配。
python
xinyu_Jina20 分钟前
局域网文件传输:P2P应用层协议——元数据握手与数据通道的生命周期管理
数据库·asp.net·p2p