python django 模型查询语法
#模型名称.objects.filter(属性名__运算符=值) 获取n个结果 #模型名称.objects.exclude(属性名__运算符=值) 获取n个结果 #模型名称.objects.get(属性名__运算符=值) 获取1个结果,找不到异常 #查询编号=1的图书, book=BookInfo.objects.get(id=1) #简写(属性名=值) 或者 book=BookInfo.objects.get(id__exact=1) #完整形式 BookInfo.objects.get(pk=1) #主键 #查询书名包含某个字符串的图书 BookInfo.objects.filter(name__contains='牛') #查询书名以某个字符串结尾的图书 BookInfo.objects.filter(name__endswith='牛') #查询书名为空的图书 BookInfo.objects.filter(name__isnull=True) #查询编号id为1或3或5的图书 BookInfo.objects.filter(id__in=[1,3,5]) #查询编号id大于3的图书 BookInfo.objects.filter(id__gt=3) #大于gt #大于等于gte #小于lt #小于等于lte #查询编号id不等于3的图书 BookInfo.objects.exclude(id=3) 或 BookInfo.objects.filter(~Q(id=3)) #查询1988(pub_date)年发表的图书 BookInfo.objects.filter(pub_date__year=1980) #查询1988年1月1日(pub_date)年后发表的图书 BookInfo.objects.filter(pub_date__gt='1980-1-1') #查询阅读量(readcount)大于评论量(commentcount)的图书 BookInfo.objects.filter(readcount__get=F('commentcount')) #查询阅读量(readcount)大于2倍评论量(commentcount)的图书 BookInfo.objects.filter(readcount__get=F('commentcount')*2) #查询阅读量大于20,并且编号小于3的图书 BookInfo.objects.filter(readcount__get=20).filter(id__lt=3) #等价 BookInfo.objects.filter(readcount__get=20),id__lt=3) #或者语法: 模型名称.objects.filter(Q(属性名__运算符=值)|Q(属性名__运算符=值)|...) #并且语法: 模型名称.objects.filter(Q(属性名__运算符=值)&Q(属性名__运算符=值)&...) #not 非 语法: 模型名称.objects.filter(~Q(属性名__运算符=值)) #查询阅读量大于20,或者编号小于3的图书 BookInfo.objects.filter(Q(readcount__get=20)|Q(id__lt=3)) #聚合 #统计阅读总数 BookInfo.objects.aggregate(Sum('readcount')) #按阅读量升序排序 BookInfo.objects.order_by('readcount') #按阅读量降序序排序 BookInfo.objects.order_by('-readcount')
分类:
python
posted on 2022-06-30 19:00 Shine-Zhong 阅读(127) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!