Conditions préalables
Avant de pratiquer les exemples de ce tutoriel, vous devez effectuer les tâches suivantes:
Configurer une application Django
UN. Exécutez la commande suivante pour créer une application django nommée filtrer.
$ python3 gérer.py startApp FilterAppB. Exécutez la commande suivante pour créer l'utilisateur pour accéder à la base de données Django. Si vous avez créé l'utilisateur avant, vous n'avez pas besoin d'exécuter la commande.
$ python3 gérer.py créeuperuserC. Ajouter le nom de l'application dans le Installé_app partie de la py déposer.
Installé_apps = [D. Créer un dossier nommé modèles à l'intérieur de filtrer dossier et définissez le modèle Emplacement de l'application dans le Modèles partie de la py déposer.
Modèles = [Créer un modèle pour la table de base de données
Ouvrir le des modèles.py fichier à partir du filtrer dossier et ajoutez le script suivant pour définir la structure de employés les tables. Employé La classe est définie pour créer un tableau nommé employés avec nom, publication, e-mail, département, et date d'inscription des champs. Ici, Nom, Publier, et département Les champs stockeront les données des caractères, le e-mail le champ stockera l'adresse e-mail et le date d'inscription Le champ stockera les données de date.
des modèles.py
# Module des modèles d'importationCourir le makemigrations Commande pour créer une nouvelle migration basée sur les modifications apportées par les modèles.
$ python3 gérer.py makemigrations filterAppCourir le émigrer commande pour exécuter les commandes SQL et créer toutes les tables de la base de données définies dans le des modèles.py déposer.
$ python3 gérer.py migrerModifier le contenu du administrer.py fichier avec le contenu suivant. Ici, l'employé La classe des modèles est enregistrée en utilisant le registre() Méthode pour afficher le Dossiers des employés Tables du tableau de bord de l'administration Django.
administrer.py
# Importer le module d'administrationExécutez l'URL suivante pour ouvrir la page de connexion Django Admin. Fournir le nom d'utilisateur et le mot de passe valides pour ouvrir le Tableau de tableau de bord de l'administration Django Pour accéder aux tables de base de données.
Insérez deux enregistrements d'employés ou plus pour appliquer le filtre sur les données. Ici, cinq enregistrements sont insérés.
Créer le recherche.html fichier à l'intérieur du FilterApp / Templates / dossier avec le script suivant. Les données du employé La table sera affichée dans ce fichier de modèle. pour la boucle est utilisée pour lire le contenu du objet_list variable qui sera transmise à partir du fichier d'affichage. Le Nom, Publier, et département valeurs du employés La table sera affichée en utilisant la liste.
recherche.html
emp.nom (emp.poste )
emp.Département Département
Ouvrir le vues.py fichier à partir du filtrer dossier et modifiez le contenu du fichier avec le script suivant. Les noms de modèle et de modèle sont définis dans le script.
vues.py
# Importer le module ListViewModifier le contenu du URL.py fichier avec le contenu suivant. Dans le script, le 'chercheur'Le chemin est défini pour appeler le Researchloyee.as_view () Méthode qui enverra toutes les données et les données filtrées du employés table dans le fichier de modèle.
URL.py
# Importer le module d'administrationLa sortie suivante apparaîtra sans appliquer de filtrage pour l'URL suivante.
http: // localhost: 8000 / Serachemp
Filtre les données par filtrage simple
Ajouter la ligne suivante à la fin du vues.py fichier pour filtrer les enregistrements du employés table où la valeur du poste le champ est 'Comptable'.
# Appliquer le filtrage de baseLa sortie suivante apparaîtra après avoir appliqué le filtrage de base.
Filtre les données avec plusieurs champs
Ajouter la ligne suivante à la fin du vues.py fichier pour filtrer les enregistrements du employés table où la valeur du département le champ est 'HT' et le courriel le champ est 'Ali @ gmail.com '.
# Appliquer le filtrage avec plusieurs champsLa sortie suivante apparaîtra après avoir appliqué un filtrage multiple.
Filtrez les données avec Q objet
Ajouter la ligne suivante à la fin du vues.py fichier pour filtrer les enregistrements du employés table où la valeur du poste le champ est 'Directeur'ou la valeur du département le champ est 'Ventes'.
# Appliquer le filtrage en utilisant des objets QLa sortie suivante apparaîtra après avoir appliqué le filtrage d'objet Q.
Filtre les données à l'aide de chaînage filtrant
Ajouter la ligne suivante à la fin du vues.py fichier pour filtrer les enregistrements du employés table où la valeur du département le champ sera d'abord vérifié et s'il renvoie true, la valeur du nom Le champ sera vérifié.
# Appliquer le filtrage par chaînageLa sortie suivante apparaîtra après avoir appliqué le chaînage filtrant.
Conclusion
Les données peuvent être filtrées dans Django de plusieurs manières en fonction des exigences de l'application. Quatre façons de filtrage différentes ont été expliquées dans ce tutoriel pour comprendre les bases du filtrage de Django. Il s'agit d'un filtrage simple, d'un filtrage multiple, d'un filtrage avec un objet Q et d'un chaînage de filtre.