Tôi đã có một ứng dụng Python/Django chạy khá nhiều câu lệnh SQL. Đối với các mục đích gỡ lỗi, tôi nghĩ rằng tôi nên tạo một khung nhìn đơn giản cho tôi mà chỉ liệt kê tất cả các câu lệnh SQL đã được chạy.Sử dụng django.db.connection.queries
Theo tài liệu, mã này sẽ đủ để làm điều đó:
from django.db import connection
connection.queries
miễn là DEBUG là True.
Tuy nhiên, điều này không mang lại cho tôi bất cứ điều gì. DEBUG chắc chắn được đặt thành True. Trong những bối cảnh này connection.queries này được lưu trữ? Tôi có nghĩa là, tôi sẽ có thể thực hiện một trang mà thực hiện rất nhiều câu lệnh SQL, và sau đó chỉ cần chuyển sang xem http://myserver/sql tôi tạo ra và xem những câu lệnh SQL ở đó, phải không? Sử dụng cùng một phiên trình duyệt của khóa học ...
Tôi đã kiểm tra xem db.reset_queries() có đang chạy ở bất kỳ đâu trong mã không, có vẻ như không.
Bất kỳ ý tưởng nào tại sao connection.queries luôn trống?
Tôi sẽ xem thanh công cụ gỡ lỗi django. Cảm ơn bạn. – HaukurHaf
Tôi chưa bao giờ thành công khi chạy DDT trên máy chủ sản xuất. Nó chỉ có vẻ làm việc với máy chủ phát triển của Django chạy cục bộ. – William