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
相关推荐
愉悦的麻婆豆腐几秒前
Neo4j使用neo4j-admin导入csv数据方法
数据库·neo4j
硬件人某某某35 分钟前
基于Django的手办交易平台~源码
后端·python·django
夜泉_ly3 小时前
MySQL -安装与初识
数据库·mysql
qq_529835354 小时前
对计算机中缓存的理解和使用Redis作为缓存
数据库·redis·缓存
月光水岸New6 小时前
Ubuntu 中建的mysql数据库使用Navicat for MySQL连接不上
数据库·mysql·ubuntu
狄加山6756 小时前
数据库基础1
数据库
我爱松子鱼6 小时前
mysql之规则优化器RBO
数据库·mysql
chengooooooo7 小时前
苍穹外卖day8 地址上传 用户下单 订单支付
java·服务器·数据库
Rverdoser8 小时前
【SQL】多表查询案例
数据库·sql
Galeoto8 小时前
how to export a table in sqlite, and import into another
数据库·sqlite