Maison >base de données >tutoriel mysql >Comment exécuter des requêtes SQL brutes dans les vues Django ?

Comment exécuter des requêtes SQL brutes dans les vues Django ?

DDD
DDDoriginal
2024-12-24 00:33:10564parcourir

How to Execute Raw SQL Queries Within Django Views?

Exécution de requêtes SQL brutes dans les vues Django

Dans les vues Django, l'utilisation de requêtes SQL brutes peut fournir un accès direct à la base de données, permettant ainsi une plus grande flexibilité et efficacité dans certains scénarios. Pour effectuer une requête SQL brute dans une vue Django, considérez les étapes suivantes :

1. Importez le module nécessaire :

from django.db import connection

2. Établir un curseur :

cursor = connection.cursor()

3. Exécutez la requête SQL brute :

cursor.execute('''YOUR_SQL_QUERY_HERE''')

4. Récupérer les résultats (facultatif) :

row = cursor.fetchone()

5. Imprimez les résultats (facultatif) :

print(row)

Exemple :

Considérez l'exemple de code suivant :

from app.models import Picture

def results(request):
    all = Picture.objects.all()
    # Perform raw SQL query to count votes for "yes"
    cursor = connection.cursor()
    cursor.execute('''SELECT count(*) FROM people_person WHERE vote = "yes"''')
    yes_count = cursor.fetchone()[0]
    return render_to_response(
        'results.html',
        {'picture': picture, 'all': all, 'yes': yes_count},
        context_instance=RequestContext(request)
    )

Dans ce Par exemple, la vue des résultats utilise une requête SQL brute pour récupérer le nombre de votes pour « oui » au lieu de s'appuyer sur Django. ORM.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn