[Django] Comment obtenir des données en spécifiant SQL.

Si vous souhaitez exécuter une requête brute dans Django, vous pouvez facilement le faire en utilisant raw (). Référence: Exécution de requêtes SQL brutes

Exemple de modèle

models/users.py


import django.db from models
class Users(models.Model):
    name = models.CharField()
    age = models.IntegerField()
    sex = models.CharField()

Acquisition de données en spécifiant SQL

Pour obtenir les utilisateurs de plus de 40 ans dans le tableau des utilisateurs

sql = "SELECT * FROM users WHERE age >= 40"
users = Users.objects.raw(sql)

Le résultat est le même que ci-dessous.

users = Users.objects.filter(age__gte=40)

Spécifiez les paramètres

Vous pouvez également spécifier des paramètres et exécuter.

sql = "SELECT * FROM users WHERE age >= %s"
users = Users.objects.raw(sql, [40])

Lors de la spécification du type de dictionnaire. Dans le cas ci-dessus, quelle est la valeur quand il y a plusieurs paramètres? Comme cela devient difficile à comprendre, ce qui suit est recommandé.

sql = "SELECT * FROM users WHERE age >= %(age)s AND sex = %(sex)s"
params = {"age": 40, "sex": "male"}
users = Users.objects.raw(sql, params)

Recommended Posts

[Django] Comment obtenir des données en spécifiant SQL.
Comment démarrer avec Django
Comment obtenir des données d'article à l'aide de l'API Qiita
Comment utiliser loc / iloc / ix pour obtenir en spécifiant une colonne dans CASTable
Comment obtenir plusieurs objets de modèle au hasard dans Django
Comment obtenir plus de 1000 données avec SQLAlchemy + MySQLdb
Données acquises par Django reliées
Comment gérer les trames de données
Comment obtenir un aperçu de vos données dans Pandas
Comment démarrer Apache en spécifiant httpd.conf avec systemd (CentOS7, CentOS8)
[Introduction à Python] Comment obtenir des données avec la fonction listdir
[Python] Comment FFT des données mp3
[Django] Comment tester le formulaire [TDD]
Comment lire les données de la sous-région e-Stat
Comment gérer les données déséquilibrées
Comment obtenir la version Python
Comment démarrer avec Scrapy
Comment démarrer avec Python
Comment refléter CSS dans Django
Comment augmenter les données avec PyTorch
Comment écrire un fichier wsgi.py indépendant de l'environnement Django1.9
Comment collecter des données d'apprentissage automatique
Comment obtenir et définir le nom du serveur NTP par DHCP
django + nginx Comment faire en sorte que seuls les utilisateurs connectés voient les images
J'ai essayé de résumer brièvement la procédure de démarrage du développement de Django
Comment obtenir la valeur en pixels du point à partir de l'image satellite en spécifiant la latitude et la longitude
Comment effectuer un traitement arithmétique avec le modèle Django
Notes d'étape pour démarrer avec django
[Python Kivy] Comment obtenir le chemin du fichier par glisser-déposer
Comment collecter des données Twitter sans programmation
Comment obtenir l'identifiant du parent avec sqlalchemy
Comment se débarrasser des longues inclusions
Comment vérifier la version de Django
Comment obtenir une adresse IP lorsque Tornado + nginx
Comment supprimer des sessions expirées dans Django
Comment obtenir stacktrace en python
Comment obtenir une sortie colorée sur la console
Pour trouver le nom de la vue avec l'espace de noms à partir de l'URL (path_info) dans Django
Comment utiliser "deque" pour les données Python
Comment faire des événements envoyés par le serveur dans Django
Comment gérer les données de séries chronologiques (mise en œuvre)
Comment lire les données de problème avec Paiza
Comment enregistrer une seule donnée sur l'écran de gestion de Django
Comment trier en spécifiant une colonne dans le tableau Python Numpy.
Je suis accro à la différence dans la façon dont Flask et Django reçoivent les données JSON
[Introduction à Python] Comment obtenir l'index des données avec l'instruction for
Comment créer des exemples de données CSV avec hypothèse
[python] Comment afficher les éléments de la liste côte à côte
Comment convertir M4a acquis par iTunes en wav
Essayez d'utiliser django-import-export pour ajouter des données csv à django
J'ai essayé d'obtenir une image en grattant
[Django] Comment résoudre les erreurs lors de l'installation de mysqlclient
Comment définir la base de données de Django sur Mongodb Visual Studio 2019
Comment développer une application de panier avec Django
Comment obtenir les résultats de l'identifiant dans Celery