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

Mary-Kate Olsen
Freigeben: 2024-11-04 15:02:23
Original
919 Leute haben es durchsucht

How to View SQL Queries Executed by Django?

Fehlerbehebung bei Djangos SQL-Abfragen

Diese Frage untersucht Methoden zum Anzeigen der von Django während Abfragevorgängen ausgeführten SQL-Abfragen.

Lösung:

Laut Häufig gestellte Fragen zur Django-Dokumentation: Django bietet zwei Optionen zum Überprüfen von SQL-Abfragen:

  • django.db.connection.queries: Dieses Attribut enthält eine Liste aller von Django ausgeführten SQL-Abfragen. Es kann wie folgt aufgerufen werden:
<code class="python">from django.db import connection
print(connection.queries)</code>
Nach dem Login kopieren
  • Queryset.query: Jedes Queryset-Objekt verfügt über ein Abfrageattribut, das die auszuführende Abfrage enthält. Hier ist ein Beispiel:
<code class="python">print(MyModel.objects.filter(name="my name").query)</code>
Nach dem Login kopieren

Hinweis: Die von diesen Methoden angezeigte Abfrageausgabe ist keine gültige SQL-Syntax. Django interpoliert niemals Abfrageparameter, sondern sendet die Abfrage und die Parameter stattdessen separat zur Ausführung an den Datenbankadapter, um die Datenintegrität sicherzustellen. Führen Sie die Abfrageausgabe daher nicht direkt in einer Datenbank aus.

Um die Abfrageliste zurückzusetzen, um beispielsweise die Anzahl der innerhalb eines bestimmten Zeitraums ausgeführten Abfragen zu überwachen, verwenden Sie reset_queries von django.db:

<code class="python">from django.db import reset_queries
from django.db import connection

reset_queries()
# Execute your query here
print(connection.queries)  # Returns an empty list</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich von Django ausgefü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
Neueste Artikel des Autors
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!