Anzeigen von von Django durchgeführten SQL-Abfragen
Beim Ausführen von Abfragen führt Django SQL-Befehle aus, die für Entwickler oft nicht sichtbar sind. Es gibt jedoch Methoden, um diese Abfragen zu beobachten und ihren Inhalt zu überprüfen.
Auf Abfragelisten zugreifen
Django speichert eine Liste aller ausgeführten Abfragen in django.db.connection. Abfragen. So zeigen Sie diese Abfragen an:
<code class="python">from django.db import connection print(connection.queries)</code>
Abfrage aus Abfragesätzen abrufen
Abfragesätze, die Datenbankabfragen darstellen, verfügen über ein Abfrageattribut, das das auszuführende Roh-SQL enthält:
<code class="python">print(MyModel.objects.filter(name="my name").query)</code>
Hinweis zu Ausgabebeschränkungen
Es ist wichtig zu beachten, dass das angezeigte SQL möglicherweise nicht syntaktisch gültig ist, da:
"Django interpoliert eigentlich nie die Parameter: Er sendet die Abfrage und die Parameter getrennt an den Datenbankadapter, der die entsprechenden Operationen ausführt.“
Das bedeutet, dass die angezeigte Abfrage nicht direkt auf einer Datenbank ausgeführt werden kann.
Abfragen zurücksetzen
Wenn Sie die Abfrageliste zurücksetzen müssen, um beispielsweise Abfragen zu zählen, die innerhalb eines bestimmten Zeitraums ausgeführt wurden, verwenden Sie reset_queries von django.db:
<code class="python">from django.db import reset_queries from django.db import connection reset_queries() # Run your query here print(connection.queries) >>> []</code>
Das obige ist der detaillierte Inhalt vonWie kann ich von Django durchgeführte SQL-Abfragen anzeigen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!