Django

Comment utiliser le jeu de requêtes dans Django

Comment utiliser le jeu de requêtes dans Django
La plupart des applications Web sont maintenant implémentées avec la base de données. queryset est utilisé dans l'application Django pour récupérer des enregistrements en filtrant, en découpant ou en ordonnant la table de la base de données sans modifier les données d'origine. Le modèle a utilisé Django pour créer la table dans la base de données. Ainsi, la connaissance de l'utilisation du modèle dans Django est nécessaire pour comprendre l'utilisation du jeu de requêtes. La fonction principale du jeu de requêtes est d'itérer les enregistrements des tables de la base de données en les convertissant en requêtes SQL. Il peut être utilisé à partir de la ligne de commande python ou en écrivant le script python pour afficher la sortie du navigateur. Les utilisations de queryset pour récupérer des données d'une table de base de données de différentes manières ont été expliquées dans ce tutoriel.

Conditions préalables:

Avant de pratiquer le script de ce didacticiel, vous devez effectuer les tâches suivantes.

  1. Installez la version Django 3+ sur Ubuntu 20+ (de préférence)
  2. Créer un projet Django
  3. Exécutez le serveur Django pour vérifier que le serveur fonctionne correctement ou non.

Configurez une application Django :

Exécutez la commande suivante pour créer une application Django nommée application de requête.

$ python3 gérer.py startapp queryapp

Exécutez la commande suivante pour créer l'utilisateur permettant d'accéder à la base de données Django. Si vous avez déjà créé l'utilisateur, vous n'avez pas besoin d'exécuter la commande.

$ python3 gérer.py createsuperuser

Ajoutez le nom de l'application dans le INSTALLED_APP partie de la Les paramètres.py déposer.

INSTALLED_APPS = [

'queryapp'
]

Créer un dossier nommé modèles à l'intérieur de application de requête dossier et définissez le des modèles emplacement de l'application dans le MODÈLES partie de la Les paramètres.py déposer.

MODÈLES = [

… .
'DIRS' : ['/home/fahmida/django_pro/queryapp/templates'],
… .
,
]

Créez un modèle pour la table de base de données :

Ouvrez le des modèles.py fichier de la application de requête dossier et ajoutez le script suivant pour définir la structure de des produits les tables. Produit la classe est définie pour créer une table nommée des produits avec nom, type, marque, et le prix des champs. Ici, nom, tapez, et marque les champs stockeront les données de caractère, et le le prix le champ stockera les données entières.

des modèles.py

# Module d'importation de modèles
de Django.modèles d'importation de base de données
# Définir la classe pour créer la table des produits
classe Produit(modèles.Modèle):
nom = modèles.CharField(max_length=100)
type = modèles.CharField(max_length=30)
marque = modèles.CharField(max_length=50)
prix = modèles.ChampEntier()

Exécutez le faire des migrations commande pour créer une nouvelle migration basée sur les modifications apportées par les modèles.

$ python3 gérer.py makemigrations queryapp

Exécutez le émigrer 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 migrer

Modifier le contenu de la administrateur.py fichier avec le contenu suivant. Ici, la classe de produits des modèless est enregistré en utilisant le S'inscrire() méthode pour afficher le des produits tables dans le tableau de bord d'administration Django.

administrateur.py

# Importer le module d'administration
de Django.administrateur d'importation de contribution
# Importer le modèle de produit
de .modèles d'importation Produit
# Enregistrer le modèle de produit
administrateur.placer.enregistrer(Produit)

Créer un fichier modèle nommé liste de produits.html à l'intérieur de application de requête/modèles/ avec le script suivant. Ce script affichera toutes les données de des produits tableau sous forme de tableau avec un champ de recherche. L'utilisateur pourra rechercher les enregistrements particuliers de la table des produits en utilisant le formulaire de recherche. pour boucle est utilisée dans le script pour itérer les données transmises depuis le vues.py déposer.

liste de produits.html



<br>Tutoriel Django QuerySet<br>



Recherche de produit



% csrf_token %
Rechercher un produit :







% pour le produit dans object_list %



% fin pour %
identifiantNomMarquePrix
produit.identifiant produit.Nom produit.marquestyle="text-align:right">$produit.le prix



Modifier le contenu de la vues.py fichier avec le script suivant. Les noms de modèle et de gabarit sont définis dans le Liste de produits classer. get_queryset() la méthode de la classe est définie dans le script pour filtrer les données en fonction du contenu soumis par le champ de recherche du modèle. Produit.objets.tout() La méthode renvoie tous les enregistrements de la des produits tableau. demander.OBTENIR.clés() méthode est utilisée dans le script pour vérifier que toutes les données sont soumises par le formulaire de recherche. Si cette méthode renvoie vrai, puis le demander.OBTENIR.obtenir('src') méthode est utilisée pour vérifier que la valeur soumise est vide ou non. Si cette méthode renvoie une valeur non vide, alors la valeur sera stockée dans la variable, mot-clé, et il sera utilisé pour filtrer les données en fonction de la marque et taper champs de la des produits tableau.

vues.py

# Importer le module ListView
de Django.vues.importation générique ListView
# Module d'importation de produit
de .modèles d'importation Produit
# Importer le module Q
de Django.db.modèles d'importation Q
# Définir la classe pour interroger les données
classe ProductList(ListView):
# Définir le modèle
modèle = Produit
# Définir le modèle
template_name = 'productList.html'
def get_queryset(self):
# Définir l'ensemble de requêtes par défaut
jeu de requêtes = produit.objets.tout()
# Vérifiez que la valeur du formulaire est soumise ou non
si soi.demander.OBTENIR.clés():
# Vérifiez le mot-clé de recherche
si soi.demander.OBTENIR.obtenir('src') != " :
mot-clé = soi.demander.OBTENIR.obtenir('src')
# Définir l'ensemble de requêtes en fonction du mot-clé de recherche
jeu de requêtes = produit.objets.filter(Q(marque=mot-clé.majuscule()) | Q(type=mot-clé.capitaliser()))
renvoyer un jeu de requêtes

Modifier le contenu de la URL.py fichier avec le script suivant. Dans le script, le 'recherchePro/' chemin est défini pour appeler le Liste de produits.as_view() méthode qui enverra toutes les données et les données filtrées du des produits table dans le fichier modèle.

URL.py

# Importer le module d'administration
de Django.administrateur d'importation de contribution
# Chemin d'importation et module d'inclusion
de Django.chemin d'importation des URL
# Importer le module SearchEmployee
de l'application de requête.vues importer la liste de produits
urlpatterns = [
# Définir le chemin pour l'administrateur
chemin('admin/', admin.placer.URL),
# Définir le chemin de recherche du produit
path('searchPro/', ProductList.as_view()),

Ajouter des enregistrements dans la table :

Ouvrez la page d'administration de Django et ajoutez des enregistrements dans le des produits table sur laquelle appliquer le jeu de requêtes, puis. Ici, cinq enregistrements ont été insérés.

Tous les enregistrements des produits avec la zone de recherche seront affichés dans le navigateur après avoir exécuté l'URL suivante.

http://localhost:8000/searchPro


Tous les produits de shampooing affichés si le type de produit, 'shampooing' sera recherché dans le champ de recherche.

Les produits laitiers en poudre de le frais la marque sera affichée si la marque du produit, 'Frais' sera recherché dans le champ de recherche.

Conclusion:

La façon de filtrer les données d'une table de base de données simple à l'aide d'un jeu de requêtes a été expliquée dans ce tutoriel. Les données peuvent être filtrées de différentes manières. Les lecteurs comprendront l'utilisation d'un ensemble de requêtes pour filtrer ou rechercher des données dans le navigateur après avoir lu ce didacticiel.

WinMouse vous permet de personnaliser et d'améliorer le mouvement du pointeur de la souris sur un PC Windows
Si vous souhaitez améliorer les fonctions par défaut de votre pointeur de souris, utilisez un logiciel gratuit WinMouse. Il ajoute plus de fonctionnal...
Le bouton de clic gauche de la souris ne fonctionne pas sous Windows 10
Si vous utilisez une souris dédiée avec votre ordinateur portable ou de bureau mais que le le clic gauche de la souris ne fonctionne pas sur Windows 1...
Le curseur saute ou se déplace de manière aléatoire lors de la saisie dans Windows 10
Si vous constatez que le curseur de votre souris saute ou se déplace tout seul, automatiquement, au hasard lors de la saisie sur un ordinateur portabl...