value_list和annotate具体的用法,原理是什么?

来源:5-4 Django中 聚合与统计的练习

weixin_慕函数学无止境

2020-06-30 16:54:50

value_list和annotate具体的用法,原理是什么?在什么场景下使用,老师视频里讲的有点模糊,麻烦详细讲解一下

写回答

1回答

时间,

2020-06-30

同学,你好。

1、values_list会根据查询的字段返回QuerySet,其中每一个元素的类型是元组。

http://img.mukewang.com/climg/5efb0b0b095caabf07830042.jpg

2、annotate:可以通过计算查询结果中每一个对象所关联的对象集合,从而得出总计值(也可以是平均值或总和),即为查询集的每一项生成聚合。

http://img.mukewang.com/climg/5efb0b590956630a02050106.jpg

在使用这个聚合函数的时候annotate会根据这个模型的主键进行group by进行分组(视频中会根据 grade_students表中的id进行分组),然后根据分组的结果进行聚合。从而可以得到每个学生的成绩总和。

如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~

0

0 学习 · 3562 问题

查看课程