Используйте "contains" и "iexact" в том же запросе в DJANGO

Как я могу использовать contains и iexact Поиск по полю в одном и том же запросе в Django?

Как это..

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

Ответы

Ответ 1

Если вам нужна нечувствительность к регистру contains, используйте icontains:

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

Что преобразуется в

... WHERE nome_fantasia ILIKE '%green%'

в SQL.

Ответ 2

Честно говоря, вам это не нужно. Эти два набора результатов перекрываются. Если вы намеревались AND, тогда просто используйте наиболее ограничительные: __iexact. если вы хотите OR использовать __contains

Чтобы ответить на ваш вопрос, вы можете сделать что-то вроде ниже (обратите внимание, что это AND)

casas = Casa.objects.filter(nome_fantasia__contains='green', nome_fantasia__iexact='green')