Django ORM模型Q函数查询方法

常见的查询操作符:

  • exact — 精确匹配

    Q(name__exact='Great Wall')  # 精确匹配 name 字段值为 'Great Wall'
    
  • iexact — 忽略大小写的精确匹配

    Q(name__iexact='Great Wall')  # 忽略大小写匹配 name 字段值为 'Great Wall'
    
  • contains — 匹配包含某个子字符串(大小写敏感)

    Q(name__contains='Wall')  # 匹配 name 字段中包含 'Wall'
    
  • icontains — 忽略大小写的包含匹配

    Q(name__icontains='wall')  # 忽略大小写,匹配 name 字段中包含 'wall'
    
  • gt — 大于(用于数值、日期等字段)

    Q(price__gt=100)  # 查询 price 字段大于 100 的记录
    
  • lt — 小于(用于数值、日期等字段)

    Q(price__lt=100)  # 查询 price 字段小于 100 的记录
    
  • gte — 大于等于

    Q(price__gte=100)  # 查询 price 字段大于等于 100 的记录
    
  • lte — 小于等于

    Q(price__lte=100)  # 查询 price 字段小于等于 100 的记录
    
  • in — 在给定的列表中

    Q(id__in=[1, 2, 3])  # 查询 id 字段为 1、2 或 3 的记录
    
  • isnull — 是否为空值

    Q(name__isnull=True)  # 查询 name 字段为空的记录
    
  • range — 在指定范围内

    Q(price__range=(100, 200))  # 查询 price 字段在 100 和 200 之间的记录
    
  • year, month, day — 针对日期字段的查询

    Q(created_at__year=2021)  # 查询创建时间在 2021 年的记录
    Q(created_at__month=6)  # 查询创建时间在 6 月的记录
    Q(created_at__day=15)  # 查询创建时间在 15 号的记录
    
  • startswith — 以指定字符串开头(大小写敏感)

    Q(name__startswith='Great')  # 查询 name 字段以 'Great' 开头的记录
    
  • istartswith — 忽略大小写的以指定字符串开头

    Q(name__istartswith='great')  # 忽略大小写,查询 name 字段以 'great' 开头的记录
    
  • endswith — 以指定字符串结尾(大小写敏感)

    Q(name__endswith='Wall')  # 查询 name 字段以 'Wall' 结尾的记录
    Q(name__iendswith='wall')  # 忽略大小写,查询 name 字段以 'wall' 结尾的记录
    

原文链接:Django ORM模型Q函数查询方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值