Django模型筛选条件:如何使用filter进行详细筛选?
- 内容介绍
- 文章标签
- 相关推荐
本文共计818个文字,预计阅读时间需要4分钟。
在查询集合`querySet`时,根据条件选择不同的过滤方式,如下所示:
- 使用`filter`表示等于,例如:`filter(field__exact='aaa')`- 使用`exclude`表示不等于,例如:`exclude(field__exact='aaa')`
其他查询方式包括:
- `distinct()`:去除重复记录- `__exact`:精确匹配,等同于`like`- `__iexact`:忽略大小写,精确匹配- `ilike`:忽略大小写,类似于`like`- `__contains`:包含匹配,例如:`__contains='AAa%'`- `__icontains`:忽略大小写,包含匹配
条件选取querySet的时候,filter表示=,exclude表示!=。
querySet.distinct() 去重复
__exact 精确等于 like 'aaa'
__iexact 精确等于 忽略大小写 ilike 'aaa'
__contains 包含 like '%aaa%'
__icontains 包含 忽略大小写 ilike '%aaa%',但是对于sqlite来说,contains的作用效果等同于icontains。
本文共计818个文字,预计阅读时间需要4分钟。
在查询集合`querySet`时,根据条件选择不同的过滤方式,如下所示:
- 使用`filter`表示等于,例如:`filter(field__exact='aaa')`- 使用`exclude`表示不等于,例如:`exclude(field__exact='aaa')`
其他查询方式包括:
- `distinct()`:去除重复记录- `__exact`:精确匹配,等同于`like`- `__iexact`:忽略大小写,精确匹配- `ilike`:忽略大小写,类似于`like`- `__contains`:包含匹配,例如:`__contains='AAa%'`- `__icontains`:忽略大小写,包含匹配
条件选取querySet的时候,filter表示=,exclude表示!=。
querySet.distinct() 去重复
__exact 精确等于 like 'aaa'
__iexact 精确等于 忽略大小写 ilike 'aaa'
__contains 包含 like '%aaa%'
__icontains 包含 忽略大小写 ilike '%aaa%',但是对于sqlite来说,contains的作用效果等同于icontains。

