Heim > Datenbank > MySQL-Tutorial > Wie kann ich Raw-SQL-Abfragen in Django anzeigen und verwalten?

Wie kann ich Raw-SQL-Abfragen in Django anzeigen und verwalten?

Patricia Arquette
Freigeben: 2025-01-18 13:42:11
Original
859 Leute haben es durchsucht

How Can I View and Manage Raw SQL Queries in Django?

Roh-SQL-Abfrage in Django anzeigen

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.

SQL-Abfrage abrufen

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

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.

Abfrage zurücksetzen

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

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!

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