django 的 filter 使用技巧

参考:

https://blog.csdn.net/CaiTong_/article/details/122329450

django QuerySet 初始化

在Django中,可以使用QuerySet来进行数据库查询。要初始化一个QuerySet对象,需要先导入相应的模型类,然后通过该模型类创建一个空的QuerySet对象。

下面是示例代码:

c 复制代码
from myapp.models import MyModel
 
# 初始化一个空的QuerySet对象
queryset = MyModel.objects.none()
print(queryset)

django的filter 匹配符号

c 复制代码
__exact: 精确等于,如SQL的like'开发'。 例:filter(job__exact='开发')

__iexact: 精确等于并忽略大小写。 例:filter(job__iexact='开发')

__contains: 模糊匹配,如SQL的like'%荣耀%'。 例:filter(job__contains='开发')

__icontains: 模糊匹配,忽略大小写。 例:filter(job__icontains='开发')

__gt: 大于。 例:filter(job__gt=5)

__gte: 大于等于。 例:filter(job__gte=5)

__lt: 小于。 例:filter(job__lt=5)

__lte: 小于等于。 例:filter(job__lte=5)

__in: 判断是否在列表内。 例:filter(job__in=[1,2,3])

__startswith:以。。。开头。    例:filter(job__startswith='开发')

__istartswith:以。。。开头并忽略大小写。    filter(job__istartswith='开发')

__endswith: 以。。。结尾。    filter(job__endswith='开发')

__iendswith: 以。。。结尾并忽略大小写。    filter(job__iendswith='开发')

__range: 在。。。范围内。    filter(job__range='开发')

__year: 日期字段的年份。    filter(job__year='2018')

__month: 日期字段的月份。    filter(job__month='12')

__day: 日期字段的天数。 例:filter(job__day=30)

__isnull: 判断是否为空。 例:filter(job__isnull=True/False)

filter结果合并

c 复制代码
result = result1 | result2
相关推荐
剩下了什么16 小时前
MySQL JSON_SET() 函数
数据库·mysql·json
山峰哥16 小时前
数据库工程与SQL调优——从索引策略到查询优化的深度实践
数据库·sql·性能优化·编辑器
较劲男子汉16 小时前
CANN Runtime零拷贝传输技术源码实战 彻底打通Host与Device的数据传输壁垒
运维·服务器·数据库·cann
java搬砖工-苤-初心不变16 小时前
MySQL 主从复制配置完全指南:从原理到实践
数据库·mysql
ggabb17 小时前
中文的全息之美:字音藏道,字里见宇宙
sqlite
WangYaolove131418 小时前
基于python的在线水果销售系统(源码+文档)
python·mysql·django·毕业设计·源码
山岚的运维笔记18 小时前
SQL Server笔记 -- 第18章:Views
数据库·笔记·sql·microsoft·sqlserver
roman_日积跬步-终至千里19 小时前
【LangGraph4j】LangGraph4j 核心概念与图编排原理
java·服务器·数据库
汇智信科19 小时前
打破信息孤岛,重构企业效率:汇智信科企业信息系统一体化运营平台
数据库·重构
野犬寒鸦19 小时前
从零起步学习并发编程 || 第六章:ReentrantLock与synchronized 的辨析及运用
java·服务器·数据库·后端·学习·算法