Djangos leistungsstarkes ORM vereinfacht die Datenbankinteraktion, aber in manchen Fällen kann es sehr nützlich sein, die ausgeführte Roh-SQL-Abfrage zu überprüfen. In diesem Artikel wird gezeigt, wie Sie diese SQL-Anweisungen zum Debuggen und Optimieren abrufen und analysieren.
Um auf von Django generierte Roh-SQL-Abfragen zuzugreifen, gibt es mehrere Möglichkeiten:
django.db.connection.queries: Enthält eine Liste von SQL-Abfragen, die von der aktuellen Datenbankverbindung ausgeführt werden:
<code class="language-python"> from django.db import connection print(connection.queries)</code>
Abfragesätze: Jeder Abfragesatz verfügt über ein Abfrageattribut, das die auszuführende SQL-Abfrage speichert:
<code class="language-python"> print(MyModel.objects.filter(name="my name").query)</code>
Hinweis: Djangos Abfrageausgabe ist kein gültiges SQL. Der Datenbankadapter fügt Parameter einzeln ein und verhindert so eine direkte Ausführung ohne ordnungsgemäße Validierung.
Um die Liste der von Django verfolgten Abfragen zurückzusetzen, verwenden Sie die Funktion „reset_queries“:
<code class="language-python">from django.db import reset_queries from django.db import connection reset_queries() # 在此处运行您的查询 print(connection.queries) >>> []</code>
Das obige ist der detaillierte Inhalt vonWie kann ich Raw-SQL-Abfragen in Django anzeigen und verwalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!