我正在开发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%';
因此,它与查询不匹配。所以,这是意料之中的行为。