在DJANGO的同一查询中使用“contains”和“iexact”

时间:2012-04-05 13:51:37

标签: python django django-queryset

如何在Django的同一查询中使用containsiexact字段查找?

喜欢那个..

casas = Casa.objects.filter(nome_fantasia__contains__iexact='green')

2 个答案:

答案 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')