Comment utiliser les recherches de champs contains
et iexact
dans la même requête dans Django?
Comme ça ..
casas = Casa.objects.filter(nome_fantasia__contains__iexact='green')
Si vous avez besoin de contains
insensible à la casse, utilisez icontains
:
casas = Casa.objects.filter(nome_fantasia__icontains = 'green')
Qui est converti en
... WHERE nome_fantasia ILIKE '%green%'
en SQL.
Honnêtement, vous n'en avez pas besoin. Les deux jeux de résultats se chevauchent. Si vous vouliez AND
, utilisez simplement le plus restrictif: __iexact
. si vous voulez OR
utilisez __contains
Juste pour répondre à votre question, vous pouvez faire quelque chose comme ci-dessous (notez que c'est un AND
)
casas = Casa.objects.filter(nome_fantasia__contains='green', nome_fantasia__iexact='green')