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)

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 .


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.