1.聚合查询
分类分为整表聚合与分组聚合。
1.1 整表聚合
先导入from django.db.models import *
聚合函数Sum Avg Count Max Min
语法:
MyModel.objects.aggregate(结果变量=聚合函数(’列‘))
返回字典:{结果变量名:值}
1.2 分组聚合
先分组,再聚合
1.2.1 先分组
MyModel.objects.values(‘列1’,’列2‘)
1.2.2 用annotate聚合
2. 原生数据库操作
防止sql注入,不建议使用
raw返回RawQuerySet只用做循环
查询:
res = Book.objects.raw('select * from bookstore_book where id =%s'%(id))
2.1 游标
完全跨过模型类操作数据库,查改删
2.1.1 导入cursor
from django.db import connection
2.1.2 创建cursor对象
通常使用with语句,便于释放cursor资源
from django.db import connection
with connection.cusor() as cur:
cur.exectue('SQL','拼接参数')