Django常用的查询方式

本文深入解析了SQL查询的各种高级技巧,包括精确匹配、模糊搜索、区间查询、时间筛选及正则表达式应用等,帮助读者掌握高效数据检索的方法。

查询方式

  • filed__exict :会在sql成层面翻译成=,如果传递的值是None则会被翻译成is
  • filed__iexact : 会在sql层面被翻译成like
  • filed__contains:会在sql层面翻译成like binary,区分大小写,这种方式会在传入字符串两侧加入%,也就意味着只要包含字符串就可以。
  • filed__icontains:会在sql层面翻译成like,不区分大小写,这种方式会在传入字符串两侧加入%,也就意味着只要包含字符串就可以。
  • field__in : 会在sql层面翻译成in,可以指定某个字段的值,是否在某个列表(列表,元组,QuerySet)中,

区间查询field__

  • gt : 大于
  • gte: 大于等于
  • lt:小于
  • lte:小于等于
  • startswith:字段中字符串是以什么开头的,会区分大小写。
  • istartswith:字段中字符串是以什么开头,不会区分大小写
  • endswith:字段中字符串是以什么结束的,会区分大小写
  • iendswith:字段中字符串是以什么结束的,不会区分大小写

时间查询

  • field__range(starttime,endtime):用来查询一段时间内的数据,注意:如果传入一个没有时区的时间,会出现警告,可以使用django.utils.timezone import make_aware使用make_aware()函数可以把没有时区的时间转换为一个有时区的时间
  • field__data=datatime(year=,month=,day=):查询某个时间字段中符合条件的时间
  • field__year=:查询某一年的
  • field__month=:查询莫一个月的
  • field__day=:查询莫一天的
  • field__week_day= :按星期查询
  • field__time(hour,minute,second):按时间查询
  • field__time__range(starttime,endtime):查询一段时间的数据
  • field__isnull=True :查询字段内容为空的数据
  • field__regex=r"正则表达式":用正则表达式去查询字符串,区分大小写
  • field__iregex :使用正则表答式查询,不区分大小写的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值