"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيف يمكنني فحص استعلامات SQL التي ينفذها جانغو؟

كيف يمكنني فحص استعلامات SQL التي ينفذها جانغو؟

تم النشر بتاريخ 2024-11-11
تصفح:506

How Can I Inspect the SQL Queries Executed by Django?

كيفية فحص استعلامات SQL في Django

هل تريد معرفة عبارات SQL التي يقوم Django بتشغيلها عند تنفيذ استعلام؟ الإجابة بسيطة:

1. ابحث عن الإجابة من الوثائق
يوفر قسم الأسئلة الشائعة في وثائق Django إجابة واضحة:

2 الوصول إلى قاعدة البيانات يمكن للاتصالات
الوصول إلى قائمة استعلام SQL من خلال django.db.connection.queries:

from django.db import connection
print(connection.queries)

3. عرض كائن مجموعة الاستعلام
يحتوي كائن مجموعة الاستعلام على سمة استعلام تحتوي على الاستعلام المطلوب تنفيذه:

print(MyModel.objects.filter(name="my name").query)

ملاحظة: إخراج الاستعلام بواسطة ليس SQL صالحًا. السبب هو:

"لا يقوم Django أبدًا باستكمال المعلمات: فهو يرسل الاستعلام والمعلمات بشكل منفصل إلى محول قاعدة البيانات، الذي ينفذ العمليات المناسبة."

(من تقرير خطأ Django رقم 17741)

لذلك، لا ترسل مخرجات الاستعلام مباشرة إلى قاعدة البيانات.

إعادة تعيين الاستعلامات
إذا كنت بحاجة إلى إعادة تعيين استعلام، مثل معرفة عدد الاستعلامات التي يتم تشغيلها في فترة زمنية معينة، فيمكنك استخدام django.db.reset_queries:

from django.db import reset_queries
from django.db import connection

reset_queries()
# 运行你的查询
print(connection.queries)
>>> []
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3