如何在Django的同一查询中使用contains
和iexact
字段查找?
喜欢那个..
casas = Casa.objects.filter(nome_fantasia__contains__iexact='green')
答案 0 :(得分:45)
如果您需要不区分大小写contains
,请使用icontains
:
casas = Casa.objects.filter(nome_fantasia__icontains = 'green')
哪个转换为
... WHERE nome_fantasia ILIKE '%green%'
在SQL中。
答案 1 :(得分:8)
老实说,你不需要。两个结果集重叠。如果您打算AND
,那么只需使用限制性最强的__iexact
。如果您希望OR
使用__contains
只是回答您的问题,您可以执行以下操作(请注意这是AND
)
casas = Casa.objects.filter(nome_fantasia__contains='green', nome_fantasia__iexact='green')