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 分钟前
《现代 Key-Value 数据库原理:从 B+Tree 到 LSM Tree》-第三篇:LMDB 深度解析二
数据库·oracle·lsm-tree
提笔了无痕17 分钟前
Agent 上下文管理详解、Context设计与构建
数据库·oracle·agent·context
用户71522873814123 分钟前
数据库字段冗余,真的只是用空间换时间吗?
数据库
沉下去,苦磨练!31 分钟前
Human‑in‑the‑Loop
数据库·oracle
吠品41 分钟前
Java中实现拓扑排序的两种方式:Kahn算法和DFS
java·数据库·notepad++
轻揉小乔 真新人1 小时前
数据库架构的升级和变更
数据库·数据库架构
禁默1 小时前
信创实战:Python + SQLAlchemy 接入金仓数据库(从驱动安装到完整 CRUD)
开发语言·数据库·python
范什么特西1 小时前
知识总结04(redis)
数据库·redis·缓存
小黑技术栈1 小时前
web前端基础到入门——14day
前端·数据库·oracle
weixin_BYSJ19872 小时前
springboot医疗信息管理系统---附源码17465
java·javascript·spring boot·python·django·flask·php