value_list和annotate具体的用法,原理是什么?
来源:5-4 Django中 聚合与统计的练习
weixin_慕函数学无止境
2020-06-30 16:54:50
value_list和annotate具体的用法,原理是什么?在什么场景下使用,老师视频里讲的有点模糊,麻烦详细讲解一下
1回答
同学,你好。
1、values_list会根据查询的字段返回QuerySet,其中每一个元素的类型是元组。
2、annotate:可以通过计算查询结果中每一个对象所关联的对象集合,从而得出总计值(也可以是平均值或总和),即为查询集的每一项生成聚合。
在使用这个聚合函数的时候annotate会根据这个模型的主键进行group by进行分组(视频中会根据 grade_students表中的id进行分组),然后根据分组的结果进行聚合。从而可以得到每个学生的成绩总和。
如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~
相似问题