Wie kann ich von Django durchgeführte SQL-Abfragen anzeigen?

DDD
Freigeben: 2024-11-04 06:53:30
Original
440 Leute haben es durchsucht

How Can I View SQL Queries Performed by Django?

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

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

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

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!

Quelle:php.cn
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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!