ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

F对象、Q对象、聚合函数

2019-06-10 11:54:28  阅读:234  来源: 互联网

标签:__ gt 聚合 函数 对象 BookInfo objects id 图书


F对象
作用:用于类属性之间的比较。
使用之前需要先导入:
from django.db.models import F
例:查询图书阅读量大于评论量图书信息。
BookInfo.objects.filter(bread__gt=F('bcomment'))
例:查询图书阅读量大于2倍评论量图书信息。
BookInfo.objects.filter(bread__gt=F('bcomment')*2)

 

Q对象
作用:用于查询时条件之间的逻辑关系。not and or,可以对Q对象进行&|~操作。
使用之前需要先导入:
from django.db.models import Q
例:查询id大于3且阅读量大于30的图书的信息。
BookInfo.objects.filter(id__gt=3, bread__gt=30)
BookInfo.objects.filter(Q(id__gt=3)&Q(bread__gt=30))
例:查询id大于3或者阅读量大于30的图书的信息。
BookInfo.objects.filter(Q(id__gt=3)|Q(bread__gt=30))
例:查询id不等于3图书的信息。
BookInfo.objects.filter(~Q(id=3))

 

聚合函数
作用:对查询结果进行聚合操作。
sum count avg max min
aggregate:调用这个函数来使用聚合。 返回值是一个字典
使用前需先导入聚合类:
from django.db.models import Sum,Count,Max,Min,Avg
例:查询所有图书的数目。
BookInfo.objects.all().aggregate(Count('id'))
{'id__count': 5}
例:查询所有图书阅读量的总和。
BookInfo.objects.aggregate(Sum('bread'))
{'bread__sum': 126}
count函数 返回值是一个数字
作用:统计满足条件数据的数目。
例:统计所有图书的数目。
BookInfo.objects.all().count()
BookInfo.objects.count()
例:统计id大于3的所有图书的数目。
BookInfo.objects.filter(id__gt=3).count()

参考文档:
    http://python.usyiyi.cn/translate/django_182/ref/models/querysets.html

 

标签:__,gt,聚合,函数,对象,BookInfo,objects,id,图书
来源: https://www.cnblogs.com/lirunsheng/p/10996841.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有