Durchführen von Raw-SQL-Abfragen in Django-Ansichten
In Django können Sie Raw-SQL-Abfragen innerhalb von Ansichten nutzen, um auf Datenbankinformationen zuzugreifen, die über nicht ohne weiteres verfügbar sind ORM. Um dies zu veranschaulichen, betrachten wir einen Beispielcode von „views.py“:
from app.models import Picture def results(request): all = Picture.objects.all() yes = Picture.objects.filter(vote='yes').count() return render_to_response( 'results.html', {'picture': picture, 'all': all, 'yes': yes}, context_instance=RequestContext(request) )
Um unformatierte SQL-Abfragen in dieser Ansichtsfunktion auszuführen, müssen Sie die folgenden Schritte ausführen:
Importieren Sie das erforderliche Django-Modul:
from django.db import connection
Besorgen Sie sich einen Cursor, um mit dem zu interagieren Datenbank:
cursor = connection.cursor()
Erstellen Sie eine SQL-Abfrage:
sql_query = '''SELECT count(*) FROM app_picture WHERE vote = "yes"'''
Führen Sie die SQL-Abfrage aus:
cursor.execute(sql_query)
Holen Sie sich die Ergebnisse:
row = cursor.fetchone()
Verarbeiten Sie die Ergebnisse:
results = row[0]
Sie können die Ergebnisse nach Bedarf in Ihrer Ansichtslogik verwenden. Sie können den Wert beispielsweise einer Variablen zuweisen und ihn zur Anzeige an die Vorlage übergeben.
Um eine WHERE-Klausel in der SQL-Abfrage zu verwenden, können Sie außerdem die relevanten Bedingungen in die Abfragezeichenfolge einfügen:
sql_query = '''SELECT count(*) FROM app_picture WHERE vote = "yes"'''
Durch die Integration dieser Schritte können Sie reine SQL-Abfragen in Django-Ansichten durchführen und auf bestimmte Datenbankinformationen zugreifen, um die Funktionalität Ihrer Anwendung zu verbessern.
Das obige ist der detaillierte Inhalt vonWie kann ich Raw-SQL-Abfragen in Django-Ansichten ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!