Modèle Django - Requête / filtrage insensible à la casse

208

Comment puis-je interroger / filtrer dans Django et ignorer les cas de ma chaîne de requête?

J'ai quelque chose comme et j'aime ignorer le cas de my_parameter:

MyClass.objects.filter(name=my_parameter)
Ron
la source

Réponses:

388

Je l'ai résolu comme ceci:

MyClass.objects.filter(name__iexact=my_parameter)

Il existe même un moyen de l'utiliser pour la recherche de sous-chaînes:

MyClass.objects.filter(name__icontains=my_parameter)

Il y a un lien vers la documentation .

Ron
la source
Pouvez-vous expliquer ce que signifie «recherche de sous-chaînes»?
Rishabh Agrahari
4
@RishabhAgrahari Vous recherchez à l'intérieur d'une chaîne, par exemple vous recherchez "bière" et vous obtenez les correspondances "bière" et "bières".
Ron
3
Et par exemple un match avec "il y a de la bière dans mon estomac".
gornvix
2
Bien joué monsieur, cela m'a donné environ 3 heures de problème :)
ViaTech