本文最后更新于127 天前,其中的信息可能已经过时,如有错误请发送至评论区或邮箱alore@can6.top
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' 结尾的记录

