如何在Django中使用聚合

在本文中,我想向您介绍如何在Django中使用聚合,聚合的含义是“内容相关项的集合,以便它们可以显示或链接到”。在Django中,我们使用的情况例如:

用于在Django模型的数据库表中查找列的“最大值”,“最小值”。
用于基于列在数据库表中查找记录的“计数”。
用于查找一组相似对象的“平均值”值。
还用于查找列中的值的总和。
在大多数情况下,我们对数据类型为“整数”,“浮点数”,“日期”,“日期时间”等的列使用聚合。

本质上,聚合不过是对一组行执行操作的一种方式。在数据库中,它们由运算符表示为sum,avg等。执行这些操作Django在查询集中添加了两个新方法。

这两种方法是聚合和注释。我们也可以说,在sql中,aggregate是一个没有分组依据的操作(SUM,AVG,MIN,MAX),而annotate是在rowet_table.id上具有分组依据的操作。 (除非明确覆盖)。

让我们从新建一个工程开始:

加应用到settings.py文件

执行migrate命令:

创建管理员用户:

打开Myapp下models.py文件,写入:

然后运行数据库迁移命令:

注册model到admin中,打开Myapp下admin.py文件,加入:

之后,您需要打开管理面板并将一些项目添加到数据库中。 之后,我们将启动聚合命令。

现在您需要打开django shell,因为我们将django shell用于我们的聚合命令。

运行命令:

1、查看总共有多少本书:

2、查看某出版社下有多少本书?

3、查看书的评价价格:

4、查看价格最贵的书价格:

5、查看价格最便宜的书价格:

6、所有书价格汇总:

7、混合使用:

8、annotate使用:

 

完毕,希望这篇对大家有帮助。