Question Utilisez "contains" et "iexact" à la même requête dans DJANGO


Comment puis-je utiliser contains et iexact Recherche de champs sur la même requête dans Django?

Comme ça ..

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

17
2018-04-05 13:51


origine


Réponses:


Si vous avez besoin de la casse contains, utilisation icontains:

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

Qui est converti en

... WHERE nome_fantasia ILIKE '%green%'

en SQL.


35
2018-04-05 13:54



Honnêtement, vous n'avez pas besoin de. Les deux résultats se chevauchent. Si vous aviez l'intention AND alors utilisez simplement le plus restrictif: __iexact. si tu veux OR utilisation __contains

Juste pour répondre à votre question, vous pouvez faire quelque chose comme ci-dessous (notez que ceci est un AND)

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

7
2018-04-05 13:56