So prüfen Sie SQL-Abfragen in Django
Möchten Sie wissen, welche SQL-Anweisungen Django beim Ausführen einer Abfrage ausführt? Die Antwort ist einfach:
1. Finden Sie die Antwort in der Dokumentation
Der FAQ-Bereich der Django-Dokumentation bietet eine einfache Antwort:
2 . Zugriff auf die Datenbankverbindung
kann über django.db.connection.queries auf die SQL-Abfrageliste zugreifen:
<code class="python">from django.db import connection print(connection.queries)</code>
3. Sehen Sie sich das Queryset-Objekt an
Das Queryset-Objekt verfügt über ein Abfrageattribut, das die auszuführende Abfrage enthält:
<code class="python">print(MyModel.objects.filter(name="my name").query)</code>
Hinweis: Die von ausgegebene Abfrage ist kein gültiges SQL. Der Grund ist:
„Django interpoliert eigentlich nie Parameter: Es sendet die Abfrage und Parameter separat an den Datenbankadapter, der die entsprechenden Operationen ausführt.“
(Entnommen aus Django-Fehlerbericht Nr. 17741 )
Senden Sie die Abfrageausgabe daher nicht direkt an die Datenbank.
Abfragen zurücksetzen
Wenn Sie eine Abfrage zurücksetzen müssen, um beispielsweise die Anzahl der in einem bestimmten Zeitraum ausgeführten Abfragen anzuzeigen, können Sie django.db.reset_queries verwenden:
<code class="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 die von Django ausgeführten SQL-Abfragen überprüfen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!