django-filter:如何过滤具有多个值的结果



我正在开发Django,我需要过滤记录,例如:

表:个人

name 年龄
David Abraham Benj 18

您需要使用Q对象来链接多个SQLILIKE操作,这是__icontains运算符在后台生成的。

试试这个:

from django.db.models import Q
Person.objects.filter(
Q(name__icontains="David") &
Q(name__icontains="Benj")
)
Person.objects.filter(name__icontains="David Benj")

等于

SELECT ... WHERE name ILIKE '%David Benj%';

因此,它与查询不匹配。所以,这是意料之中的行为。

最新更新