exclude()
函数是 Django 模型查询(QuerySet
) API 的一部分,它的作用是从结果集中排除满足给定筛选条件的项。以下是 exclude()
函数的使用方法和攻略。
使用方法
使用 exclude()
函数,需要传递一个或多个筛选条件作为参数。这些参数可以是单个或多个条件,可以使用逗号或并集(|
)操作符进行连接。
Model.objects.exclude(field=value)
传递多个条件的方法:
Model.objects.exclude(condition1, condition2)
exclude()
函数可以用于组合使用多个筛选条件进行排除操作,同时也可以用于排除某个属性值是 None
的记录,或者用于反转一个筛选条件以查询不匹配的记录等。
实例说明
- 排除特定条件的记录
假设我们有一个名为 Article
的模型,其中包含 title
和 body
两个字段。现在我们想要排除 title
中包含 Hello
的记录,可以使用以下代码:
Article.objects.exclude(title__icontains='Hello')
这将从 Article
模型中排除所有 title
字段包含 Hello
的记录,并返回未被排除的记录集。
- 排除 Null 值的记录
假设我们需要从模型 Person
中找到名字不为空并且年龄小于 30 岁的人,可以使用以下代码:
Person.objects.exclude(name__exact='', age__gt=30)
__exact
表示值必须完全相等,这里表示排除名字为空的数据。__gt
表示严格大于,这里表示排除年龄大于 30 的数据。