聚合函数
使用aggregate()函数返回聚合函数的值
Avg:平均值
Count:数量
Max:最大值
Min:最小值
Sum:求和
使用案例
from django.db.models import Sum
from django.http import HttpResponse
from django.shortcuts import render
from .models import Team,Player
def get_count(request):
#拿全部数据
players = Player.objects.all()
#求火力输出总和
res = players.aggergate(Sum('count'))
#返回结果
return HttpResponse(res.get('count__sum'))
F对象
使用场景:当你想查询一条数据时,遇到自己的两条字段数据做比较的时候
使用方法:
def get_player(req):
#需求:年纪大于火力输出的数据
res = Player.objects.filter(age__get=F('count'))
#将查询出来的对象全部转换成数组嵌套字段的格式
result = [model_to_dict(i) for i in res]
return HttpResponse(json.dumps(result))
Q对象
使用场景:多条件组合查询的时候使用