Heim > Datenbank > MySQL-Tutorial > Wie führe ich Raw-SQL-Abfragen in Django-Ansichten aus?

Wie führe ich Raw-SQL-Abfragen in Django-Ansichten aus?

DDD
Freigeben: 2024-12-24 00:33:10
Original
564 Leute haben es durchsucht

How to Execute Raw SQL Queries Within Django Views?

Durchführen von Raw-SQL-Abfragen in Django-Ansichten

In Django-Ansichten kann die Verwendung von Raw-SQL-Abfragen einen direkten Zugriff auf die Datenbank ermöglichen und so eine größere Funktionalität ermöglichen Flexibilität und Effizienz in bestimmten Szenarien. Um eine reine SQL-Abfrage in einer Django-Ansicht durchzuführen, beachten Sie die folgenden Schritte:

1. Importieren Sie das erforderliche Modul:

from django.db import connection
Nach dem Login kopieren

2. Erstellen Sie einen Cursor:

cursor = connection.cursor()
Nach dem Login kopieren

3. Führen Sie die Roh-SQL-Abfrage aus:

cursor.execute('''YOUR_SQL_QUERY_HERE''')
Nach dem Login kopieren

4. Ergebnisse abrufen (optional):

row = cursor.fetchone()
Nach dem Login kopieren

5. Drucken Sie die Ergebnisse aus (optional):

print(row)
Nach dem Login kopieren

Beispiel:

Bedenken Sie den folgenden Beispielcode:

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)
    )
Nach dem Login kopieren

In diesem Beispielsweise verwendet die Ergebnisansicht eine reine SQL-Abfrage, um die Anzahl der Stimmen für „Ja“ abzurufen, anstatt sich auf Django zu verlassen ORM.

Das obige ist der detaillierte Inhalt vonWie führe ich Raw-SQL-Abfragen in Django-Ansichten aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage