-
统计查询
def handle_group(request): from django.db.models import Max,Min,Avg,Sum,Count # 统计函数用法 # select max(uid) from user # uid = User.objects.aggregate(Max('uid')) # print(uid,type(uid)) # 分组 # select sex,count(uid) from user group by sex # data = User.objects.values('sex').annotate(Count('uid')) # select sex,count(uid) from user group by sex having sex=1 # data = User.objects.values('sex').annotate(Count('uid')).filter(sex=1) # Q对象:构造逻辑或、逻辑非 # 查询uid>30或者sex=1 # data = User.objects.filter(Q(uid__gt=30)|Q(sex=1)) # | 逻辑或 # data = User.objects.filter(~Q(uid__gt=30)) # | 逻辑非 # data = User.objects.filter(~Q(sex=1)) # 不能处理null # print(data) # # for user in data: # print(user) # F对象: 把sex看成User的一个列名 # data = User.objects.filter(uid=F('sex')) # print(data) # 复杂查询 # pub = Publisher.objects.filter(books__bname='特不靠谱') # pub = Publisher.objects.filter(books__id=3) # print(pub[0].pname) # 嵌套查询,data只能返回一个字段 # data = User.objects.filter(uid__gt=15,uid__lt=20).values('uid') # users = User.objects.filter(uid__in = data) return HttpResponse("group")
Django—模型—数据查询(统计查询)
猜你喜欢
转载自blog.csdn.net/piduocheng0577/article/details/105009950
今日推荐
周排行