django-filter

django的model筛选

名称类型描述
__exact精确等于like ‘aaa’
__iexact精确等于忽略大小写 ilike ‘aaa’
__contains包含like ‘%aaa%’
__icontains包含忽略大小写 ilike ‘%aaa%’
__gt大于
__gte大于等于
__lt小于
__lte小于等于
__in存在于一个list范围内
__startswith以…开头
__istartswith以…开头 忽略大小写
__endswith以…结尾
__iendswith以…结尾,忽略大小写
__range在…范围内
__year日期字段的年份
__month日期字段的月份
__day日期字段的日
__isnull=True/False是否为空
# 查询出name以s结尾的数据
model.objects.filter(name__endswith="s")

# 查询方式支持字典类型传入
filter_dict = {"name__endswith": "s"}
model.objects.filter(**filter_dict)
Q 与 F 查询
Q:

| 或 ;& and

# 查询出id等于1或者2的数据
my_filter_or = Q(id=1)|Q(id=2)
model.objects.filter(my_filter_or)

# 查询出id等于1并且name以d开头的数据
my_filter_and = Q(id=1)&Q(name__startswith="d")
model.objects.filter(my_filter_and)
F:

一个动态查询方式

# 查询出字段boy_num大于girl_num的数据
model.filter(boy_num__gt=F('girl_num'))
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值