Filtre OR de Django
Nous apprendrons avec cette explication rapide et facile comment exécuter des filtres avec une instruction OU
individuellement, et nous verrons également comment nous exécutons les filtres avec un objet Q
dans le jeu de requêtes Django.
Utiliser le filtre pour exécuter l’instruction OR
individuellement et avec l’objet Q
dans Django Queryset
Dans cet exemple, nous utiliserons la base de données que nous avons créée et qui a été ajoutée avec certaines données et vous montrerons à quoi cela ressemble.
Nous créons un exemple de base; nous allons créer une variable appelée posts
et enregistrer toutes les données à l’intérieur de cette variable. Nous allons exécuter un filtre qui nous permettra de créer une simple instruction OU
.
Tout d’abord, nous devons sélectionner ce sur quoi nous voulons faire une déclaration OU
, alors collectons tous les noms des étudiants, en commençant par austin
ou baldwin
.
Nous utilisons l’argument surname__startswith
et lui transmettons le nom de famille pour extraire tous les enregistrements d’étudiants qui commencent par les noms de famille austin
et baldwin
.
Lorsque nous exécutons le serveur, nous voyons qu’il a renvoyé deux éléments.
Nous avons vu un exemple de base avec une instruction OR
, mais nous pourrions ajouter un autre filtre et plusieurs instructions OR
. Nous allons maintenant travailler sur un autre exemple d’utilisation d’une instruction OR
, mais cette fois nous utilisons un objet Q
.
Ceci n’est pas une démonstration détaillée d’un objet file d’attente, mais nous dirons qu’il nous permet de construire des requêtes plus complexes en utilisant des objets Q
. Nous allons vous montrer un exemple d’utilisation d’objets Q
.
L’instruction de code est presque la même, nous allons juste tout enrouler autour d’un objet Q
, et après le |
opérateur, nous ajouterons un autre objet Q
. Nous n’avons pas besoin d’ajouter à nouveau Student.objects.filter()
.
Nous aurions dû l’écrire en premier et passer le nom de famille à l’argument nom_commencepar
.
Continuons et exécutons cette requête, afin que nous retournions les mêmes résultats.
Si nous voulons étendre cela, nous pouvons continuer à ajouter à cette déclaration OR
aussi souvent que nous le souhaitons. Nous avons ajouté le non ~Q
, ce qui signifie sélectionner tous les étudiants sauf lorsque le nom de famille commence par baldwin
.
Maintenant, nous pouvons voir que tout baldwin
n’est plus affiché car nous définissons ~
, qui est utilisé pour supprimer ou ne pas sélectionner un élément de la base de données.
Hello! I am Salman Bin Mehmood(Baum), a software developer and I help organizations, address complex problems. My expertise lies within back-end, data science and machine learning. I am a lifelong learner, currently working on metaverse, and enrolled in a course building an AI application with python. I love solving problems and developing bug-free software for people. I write content related to python and hot Technologies.
LinkedIn