📜  django 过滤多个字段 - Python (1)

📅  最后修改于: 2023-12-03 14:40:47.778000             🧑  作者: Mango

Django 过滤多个字段

在 Django 中,我们可以使用 Q 对象实现多个字段的过滤。

Q 对象

Q 对象是 Django 中的一个查询对象,它以逻辑运算符组合查询条件。Q 对象可以被用来构建复杂的查询,例如 OR 查询。

语法
from django.db.models import Q

q = Q(field1=value1) | Q(field2=value2)
示例

假设我们有一个 Book 模型,它有 titleauthor 两个字段。我们想要查询所有标题中包含 "Django" 或作者是 "Alice" 的书籍:

from django.db.models import Q

books = Book.objects.filter(Q(title__icontains='Django') | Q(author='Alice'))

注意到使用双下划线对字段进行模糊匹配和查询。

返回结果

以上代码将返回符合过滤条件的书籍列表,你可以根据具体情况对其进行处理。