Django模型筛选条件:如何使用filter进行详细筛选?

2026-05-28 21:580阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计818个文字,预计阅读时间需要4分钟。

Django模型筛选条件:如何使用filter进行详细筛选?

在查询集合`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分钟。

Django模型筛选条件:如何使用filter进行详细筛选?

在查询集合`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。

阅读全文