django objects.filter 对于同一关键字有 2 个条件,其中任何一个都匹配

use*_*424 3 python django

我希望过滤查询集以包含满足两个条件之一的对象。我看到了两个条件都匹配的示例,但我希望其中一个条件匹配。如何使用 Q 对象来做到这一点? 在此输入链接描述

Pet*_*per 7

如果没有更多关于您要匹配的字段的详细信息,很难准确,但基本上您想使用|运算符来组合两个 Q 对象。

from django.db.models import Q
result = SomeModel.objects.filter(Q(somefield='foo') | Q(somefield='bar'))
Run Code Online (Sandbox Code Playgroud)

有关 Q 对象的完整详细信息,请参阅文档: https://docs.djangoproject.com/en/dev/topics/db/queries/#complex-lookups-with-q-objects