django的aggregate()和annotate()函数用法
来源:互联网 发布:hk域名 编辑:程序博客网 时间:2024/05/21 08:36
在QuerySet的聚合查询中经常用到aggregate()和annotate()函数,但是这两者有什么区别呢?
aggregate()是用于属于QuerySet整个对象的汇总值,例如计算下列Student模型的平均年龄
class Student(models.Model): name = models.CharField(max_length=10) age = models.IntegerField()
height = model.FloatField()所需命令是student_avg_age = Student.objects.all().aggregate(Avg('age'))得到的结果将会是名称-值的字典形式。当然,也可以同时计算平均年龄和最高身高dict = Student.objects.aggregate(Avg(age), Max(height))
而annotate()函数可以为QuerySet中的每个对象生成一个独立的摘要,输出的结果仍然是一个QuerySet对象,能够调用filter()、order_by()甚至annotate()以老师和学生的模型为例,存在多对多关系
class Teacher(models.Model): name = models.CharField(max_length=100) age = models.IntegerField() student = models.ManyToManyField(Student)查询一个学生的有多少任课老师:t = Student.objects.annotate(Count('Teacher'))
阅读全文
0 0
- django的aggregate()和annotate()函数用法
- django中聚合aggregate和annotate GROUP BY的使用方法
- aggregate 和 order函数
- mongodb的aggregate 用法
- LINQ中Aggregate的用法
- mongodb的聚合函数aggregate的$match和$group方法。
- MongoDB的聚合函数 Aggregate
- MongoDB的聚合函数 Aggregate
- mongo 的 find和aggregate
- treeAggregate和Aggregate的区别
- 数组的the aggregate initialization和dynamic aggregate initialization
- Linq的Aggregate函数的使用
- Linq的Aggregate函数的使用
- node.js 调用 mongoose 的 aggregate 函数
- MongoDB aggregate聚合函数的使用
- reducer里aggregate函数的使用
- apache camel 的 split 和 aggregate
- django 中imagefield和filepathfiled的用法
- 高性能Server---Reactor模型
- 过滤器Filter
- iOS 拍摄照片,使用视听媒体框架AVFoundation实现照片拍摄 —— HERO博客
- JAVA内存区域
- ruby on railst添加照片,翻译,美化界面及用户注册
- django的aggregate()和annotate()函数用法
- STM8学习笔记----按键中断
- ajax和json的post和get请求参数配置
- JQuery中的Ajax和插件
- c语言动态内存分配
- Servlet相关文件上传下载类总结
- 树状数组求解逆序问题
- 最大回文子串
- ADSFASDFASDF