Django框架之ORM的相关操作(二)

博客介绍了QuerySet的聚合查询,其终止子句aggregate()返回包含键值对的字典,键为聚合值标识符,值是计算出的聚合值。聚合查询可计算平均值、最大值等,需导入相关模块,结果为字典类型。还提到了分组查询,但未展开。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

模型类:

class Commongity(models.Model):
    id=models.AutoField(primary_key=True)
    name=models.CharField(max_length=20)
    price=models.DecimalField(max_digits=5,decimal_places=2)

 

聚合查询

aggregate()是QuerySet 的一个终止子句,意思是说,它返回一个包含一些键值对的字典。

键的名称是聚合值的标识符,值是计算出来的聚合值。键的名称是按照字段和聚合函数的名称自动生成出来的。

聚合查询主要用于计算平均值,最大值,最小值,和,数量

平均值:Avg

最大值:Max

最小值:Min

和:Sum

数量:Count

需要导入平均值,最大值,最小值等模块

from django.db.models import Avg,Max,Min,Sum,Count

 (1)查询所有物品的平均价格

# 查询所有物品的平均价格
    # price表示模型类中的字段名
    good = models.Commongity.objects.all().aggregate(Avg('price'))

(2)查询所有物品的最大的价格

good = models.Commongity.objects.all().aggregate(Max('price'))

(3)同理:最小值,和,数量等都是同样的用法

aggregate()得出的结果是一个字典的类型返回,所以如果不指定键的名称,那么python自动分配名称,如果使用特定的名称,在aggregate(指定的键=Max('price')),如下所示:

good = models.Commongity.objects.all().aggregate(price_test=Max('price'))

 

===============================================================================

分组查询,分组查询与聚合查询

pass

转载于:https://www.cnblogs.com/fjiqiang/p/10927045.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值