annotate的问题

来源:5-3 Django中聚合与统计的使用

江民川

2020-07-06 17:02:30

q=Book.objects.annotate(****),这里和aggregate不一样,aggregate前还有个.all(),而且使用aggregate时不需要赋值“q=”。所以这两个aggregate和annotate有什么本质区别吗?

Book.objects.all()是一个QuerySet对象,那Book.objects.annotate(****)也是吗?Book.objects.all().aggregate(****)又是什么类型的东西?

写回答

1回答

好帮手慕笑蓉

2020-07-06

同学,你好。annotate的一个更好的理解是分组,如果想要对数据集先进行分组然后再进行某些聚合操作或排序时,需要使用annotate方法来实现,即对每一项进行聚合计算。而aggregate方法是对每一个结果进行聚合统计。

如果解决了你的疑惑,请采纳,祝学习愉快~

0

0 学习 · 3562 问题

查看课程