Menyelesaikan masalah Pertanyaan SQL Django
Soalan ini menyiasat kaedah untuk melihat pertanyaan SQL yang dilaksanakan oleh Django semasa pertanyaan operasi.
Penyelesaian:
Menurut Soalan Lazim dokumentasi Django, Django menyediakan dua pilihan untuk memeriksa pertanyaan SQL:
<code class="python">from django.db import connection print(connection.queries)</code>
<code class="python">print(MyModel.objects.filter(name="my name").query)</code>
Nota: Output pertanyaan yang dipaparkan oleh kaedah ini bukan sintaks SQL yang sah. Django tidak pernah menginterpolasi parameter pertanyaan tetapi sebaliknya menghantar pertanyaan dan parameter secara berasingan kepada penyesuai pangkalan data untuk pelaksanaan, memastikan integriti data. Oleh itu, jangan laksanakan output pertanyaan secara langsung dalam pangkalan data.
Untuk menetapkan semula senarai pertanyaan, contohnya, untuk memantau bilangan pertanyaan yang dilaksanakan dalam tempoh masa tertentu, gunakan reset_queries daripada 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>
Atas ialah kandungan terperinci Bagaimana untuk Melihat Pertanyaan SQL yang Dilaksanakan oleh Django?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!