Django 第十课 5.聚合函数
Posted nelsen-chen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django 第十课 5.聚合函数相关的知识,希望对你有一定的参考价值。
1:所有的聚合函数都是放在 ‘django.db.models’ 下面
2:聚合函数不能单独执行,需要放在一些可以执行聚合函数的方法下面中去执行。比如 ‘aggregate’。示例代码如下:
result = Book.objects.aggretate(Avg("price"))
3: 聚合函数执行完成后,给这个聚合函数的值去个名字,取名字的规制,默认是 ‘field__【聚合函数名】’ 形成的。比如以上代码形成的名字叫做‘price__avg’ 。如果不想使用默认的名字,那么可以在使用聚合函数的时候传递关键字参数进去,参数的名字就是聚合函数执行完成的名字。示例代码如下:
result = Book.objects.aggretate(avg=Avg("price")) #以上传递了关键字参数 ‘avg=Avg("price")’ ,那么以后 ‘Avg’聚合函数执行完成的名字就叫做‘avg’
4:‘aggretate’:这个方法不会返回一个‘QuerySet’对象,而是返回一个字典,这个字典中的key就是聚合函数的名字。值就是聚合函数执行后的结果
5:order_by:指定将查询的结果根据某个字段进行排序。如果要倒叙排序,那么可以在这个字段的前面加一个负号。
articles = Article.objects.order_by("create_time") articles = Article.objects.order_by("-create_time")
一定要注意的一点是,多个order_by,会把前面排序的规制给打乱,而使用后面的排序方式。
articles = Article.objects.order_by("create_time").order_by("auther_name")
以上是关于Django 第十课 5.聚合函数的主要内容,如果未能解决你的问题,请参考以下文章