聚合分组查询
a)聚合: 聚合函数 Avg(),、Sum()、…
使用方法:aggregate(聚合函数)
b)分组: group by….
使用方法: xx.values(‘属性’).annotate(聚合函数)
提示: 先写 values() 后使用 annotate()函数。
values()中是属性表示分组并且显示的内容。
F查询和Q查询
导入模块
from django.db.models import F,Q
F查询:同一张表格的不同字段之间的查询
Q查询,需要复杂的逻辑关系的时候使用Q查询
Django提供F()来做这样的比较,F()的实例可以在查询中引用字段来比较同一个model实例中的两个不同字段的值。
Django支持F()对象和常数之间的加减乘除取模操作
filter()等方法中的关键字参数查询都是一起进行’and’的操作,如果需要执行更复杂的查询(例如OR语句),我们可以使用Q对象。
Q对象和 |(或)、&(与)、()(括号)、~(非) 进行联合使用。
注意: Q对象和关键字混合使用的时候,关键字需要写在最后。