[PYTHON] Résumé du filtre Django

Je développais avec Django l'autre jour et j'avais besoin d'une fonction de recherche. Cependant, j'ai toujours demandé: "Eh bien, comment affiner l'écriture?", Alors je l'ai résumé. Je vous serais reconnaissant si vous pouviez signaler des notes supplémentaires ou des erreurs.

Constitution

Résumé: filtre Django

Le modèle Django a un attribut appelé object, qui contient une instance de la classe Manager. Filter est une fonction fournie dans cette classe Manager, ce qui est utile lorsque vous voulez ** filtrer (affiner) les données que vous voulez littéralement.

Recherche stricte

Je l'ai appelé une recherche stricte, mais je vais introduire une recherche qui restreint la recherche qui correspond exactement au contenu que vous souhaitez filtrer.

Cette recherche recherche les ** correspondances exactes **, sensibles à la casse.

Exemple

user_name = "hoge" //Définissez le nom d'utilisateur que vous souhaitez rechercher en tant que variable.
data = User.objects.filter(name=user_name)

Obtient le champ de nom dans le modèle User qui correspond au nom_utilisateur défini ci-dessus. Cela vous permettra de vous limiter à ceux qui correspondent exactement au nom hoge.

Relâcher la recherche

Ensuite, regardons la recherche lâche. C'est souvent le cas quand vous dites: "Je ne sais pas si hoge est celui qui correspond exactement au nom, mais si vous êtes une personne avec un nom comme hogefugafoo, un programmeur insensé."

Dans un tel cas, si vous voulez rechercher non seulement celui qui correspond exactement à "hoge" mais aussi ** qui inclut ** "hoge" **, cette recherche lâche est utilisée.

Comment rédiger une recherche lâche

est.

Voyons comment l'utiliser concrètement.

Recherche incluant

user_name = "fuga"
data = User.objects.filter(name__contains=user_name)

Maintenant, vous pouvez également obtenir "hogefugafoo". La même chose s'applique aux autres recherches.

Recherche commençant par

user_name = "fuga"
data = User.objects.filter(name__startswith=user_name)

Dans ce cas, comme il commence par "fuga", "hogefugafoo" ne correspond pas, mais "fuga Taro" le fait.

Recherche se terminant par

user_name = "fuga"
data = User.objects.filter(name__endswith=user_name)

Dans ce cas, "hogefugafoo" ne correspond pas, mais "Yamada johnfuga" le fait.

Insensible à la casse

Maintenant, à ce stade, vous voudrez peut-être faire une recherche plus lâche qui ne fait pas la distinction entre les majuscules et les minuscules. Dans un tel cas, ajoutez simplement ** ʻi` **.

Écriture insensible à la casse

-Recherche commençant par ** **
Nom du champ __istartswith = valeur

-Recherche se terminant par ** **
Nom du champ __iendswith = valeur

Merci d'avoir lu jusqu'au bout. J'écrirai plus tard sur la recherche numérique et la recherche ET OU la recherche avec plusieurs conditions, alors merci pour votre coopération.

Recommended Posts

Résumé du filtre Django
Résumé de Django
Résumé de Django
Résumé du didacticiel Python Django
À propos des arguments de filtre personnalisés de Django
Django
[Mémo d'apprentissage] Résumé de la commande Django
Résumé du didacticiel Django Girls Première moitié
Résumé des paramètres liés aux fichiers statiques (statiques) de Django
Créer un filtre avec un modèle django
mise à jour de Django
Django Note 4
Résumé Python
Mémorandum Django
recherche django
Résumé des commandes fréquemment utilisées de django (débutant)
Test Django
Résumé de python-pptx
Django # 2 (modèle)
Résumé Linux
Django Note 5
Résumé du tutoriel Django pour les débutants par les débutants ③ (Afficher)
Django Hands On
Touchez django
Mémo Django
résumé pyenv
Résumé de la chaîne de caractères 1
Les bases de Django
Django Shoho
Paramètres initiaux de Django
Django + Docker
Glossaire Django
résumé pytest
Résumé matplotlib
Installation de Django
Django: Références
Django Note 1
Django Note 3
Résumé du tutoriel Django pour les débutants par les débutants ⑤ (test)
Django Note 2
Démarrage de Django
Mémo Django
Django NullCharField
Résumé du tutoriel Django pour les débutants par les débutants ⑥ (fichier statique)
Résumé du tutoriel Django pour les débutants par les débutants ② (Modèle, Admin)
[Django] Erreur lorsque SlugField est spécifié dans .filter ()
Résumé du didacticiel Django pour les débutants par les débutants ④ (Vue générique)
[Django3] Construction de l'environnement et résumé de divers paramètres [Python3]