Heim > Artikel > Backend-Entwicklung > Wie kann ich die von Django ausgeführten Raw-SQL-Abfragen anzeigen?
Sichtbarkeit von Django-SQL-Abfragen
Um die von Django ausgeführten Roh-SQL-Abfragen zu beobachten, können Sie sich die FAQ der Django-Dokumentation zu dieser speziellen Frage ansehen .
Verwendung von django.db.connection.queries
Eine Methode besteht darin, das django.db.connection.queries-Attribut zu verwenden, das eine Liste der ausgeführten SQL-Abfragen verwaltet . Um sie anzuzeigen:
<code class="python">from django.db import connection print(connection.queries)</code>
Queryset-Abfragen prüfen
Querysets besitzen auch ein Abfrageattribut, das die auszuführende Abfrage enthält. So greifen Sie darauf zu:
<code class="python">from django.db import models print(MyModel.objects.filter(name="my name").query)</code>
Wichtiger Hinweis
Es ist wichtig zu beachten, dass die Ausgabe der Abfrage kein gültiges SQL ist. Dies liegt daran:
„Django interpoliert die Parameter nie wirklich: Es sendet die Abfrage und die Parameter separat an den Datenbankadapter, der die entsprechenden Vorgänge ausführt.“
Abfragen zurücksetzen
Wenn Sie die Liste der ausgeführten Abfragen zurücksetzen müssen, um beispielsweise die Anzahl der Abfragen innerhalb eines bestimmten Zeitraums zu ermitteln, verwenden Sie die Funktion „reset_queries“ von django.db:
<code class="python">from django.db import reset_queries from django.db import connection reset_queries() # Execute your query here print(connection.queries)</code>
Das obige ist der detaillierte Inhalt vonWie kann ich die von Django ausgeführten Raw-SQL-Abfragen anzeigen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!