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 Datenbankverbindungen
kann über django.db.connection.queries auf die SQL-Abfrageliste zugreifen:
from django.db import connection
print(connection.queries)
3. Das Queryset-Objekt anzeigen
Das Queryset-Objekt verfügt über ein Abfrageattribut, das die auszuführende Abfrage enthält:
print(MyModel.objects.filter(name="my name").query)
Hinweis: Die von ausgegebene Abfrage ist kein gültiges SQL. Der Grund ist:
„Django interpoliert niemals Parameter: Es sendet die Abfrage und die Parameter separat an den Datenbankadapter, der die entsprechenden Operationen ausführt.“
Senden Sie daher die Abfrageausgabe 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:
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3