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
相关推荐
for_ever_love__1 小时前
Redis 数据类型全景:五种基础类型怎么用、什么时候用
数据库·redis·数据类型·hash·使用场景·zset·排行榜
SmartSoftHelp开发辅助优化1 小时前
SmartSoftHelp DeepCore XSuite Pro Global Eco AIAgent 2026.V29 专业国际版
数据库·oracle
honsor1 小时前
以太网温湿度传感器:RJ45直连机房的环境监控新方案
运维·网络·数据库·物联网·安全·云计算·github
西索斯coding1 小时前
Kimi k2.7-code-highspeed 接入 Cline 教程:baseURL 路由变更 + model_id 正确写法
java·服务器·数据库·ai
浪子明X1 小时前
MongoDB 迁移方案评审:用双写窗口和回放样本控制切换风险
数据库·mongodb
stark张宇2 小时前
InnoDB锁机制全景图:全局锁、表锁、行锁、意向锁到底怎么用?
数据库·后端
坊钰2 小时前
【LangChain框架入门级】10. 文本向量与向量数据库(Embedding / Redis / Pinecone / MMR)
数据库·python·langchain·embedding
Omics Pro2 小时前
研究证实AI虚拟细胞可用于药物靶点发现
数据库·人工智能·算法·机器学习·自然语言处理
好奇的菜鸟2 小时前
GORM 入门(二):从 database/sql 平滑过渡到 GORM
数据库·sql
长春的KAKA2 小时前
GitLab 项目页面报 500 错误的完整修复记录:PostgreSQL 数据库损坏、统计表缺失及数据库迁移
数据库·postgresql·gitlab