Tôi muốn xem những truy vấn nào được thực thi trên phương thức .save() của django. Vì tôi đang ở trong một môi trường sản xuất, tôi không thể sử dụng Thanh công cụ Django cho việc này.Làm cách nào để in các truy vấn được thực hiện bởi phương thức django .save()?
6
A
Trả lời
2
Có 2 cách:
Trong Django 1.3 trở lên, bạn có thể sử dụng khai thác gỗ mà tôi tin rằng bãi truy vấn sql của bạn vào nhật ký. https://docs.djangoproject.com/en/dev/topics/logging/
Dường như không có cách dễ dàng về phía trước mà không có DEBUG = True. Đây là gần nhất tôi có thể tìm thấy: Logging Django SQL queries with DEBUG set to False
4
Dựa trên câu trả lời Sid và đoạn này (http://djangosnippets.org/snippets/1973/) tôi đã thay thế các postgres db-wrapper với điều này:
# base.py
from django.db.backends.postgresql_psycopg2.base import *
#http://djangosnippets.org/snippets/1973/
class DatabaseWrapper(DatabaseWrapper):
def __init__(self, *args, **kwargs):
super(DatabaseWrapper, self).__init__(*args, **kwargs)
self.use_debug_cursor = True
Sau đó, trong settings.py
, sử dụng 'ENGINE': 'my_project.db_backend'
, thay vì phụ trợ mặc định (trong trường hợp của tôi, 'ENGINE': 'django.db.backends.postgresql_psycopg2'
,)
Bây giờ connection.queries
sẽ chứa tất cả các truy vấn của bạn!
Các vấn đề liên quan
- 1. Làm cách nào tôi có thể nhận được truy vấn cho .save() trong django?
- 2. Làm cách nào để giới hạn các cột được trả về bởi truy vấn Django?
- 3. Làm thế nào để thực hiện lọc truy vấn trong các mẫu django
- 4. Làm thế nào để thực hiện các truy vấn bitwise DB trong Django?
- 5. Làm cách nào để tôi có thể thực hiện truy vấn SQL 'NOT IN' nhanh hơn?
- 6. Làm cách nào để thực hiện truy vấn "KHÔNG IN" trong Mongo?
- 7. Làm cách nào tôi có thể thấy các truy vấn được thực hiện đối với Oracle?
- 8. Làm thế nào để hiển thị các truy vấn cuối cùng được thực hiện trên MySQL?
- 9. PowerMockito: làm thế nào để giả lập các phương thức được gọi bởi hàm tạo?
- 10. Cách thực hiện WHERE IN in linq
- 11. Làm thế nào để có được MethodInfo của phương thức giao diện, khi thực hiện MethodInfo của phương thức lớp?
- 12. Làm cách nào để xóa một truy vấn MySQL chưa được thực hiện khỏi dòng lệnh?
- 13. chuyển đối số sang phương thức save() tùy chỉnh
- 14. Làm cách nào để ghi lại thời gian được thực hiện bằng các phương thức trong Springframework?
- 15. Tôi làm cách nào để thực hiện các truy vấn tổng hợp trong Slick?
- 16. Có cách nào để truy vấn các thay đổi được thực hiện bởi chế độ xem được làm mới nhanh trong Oracle?
- 17. Làm thế nào để chuyển các truy vấn để thực hiện hiệu quả trong đường ray?
- 18. Làm thế nào để bạn thực hiện các phương thức compareTo một cách rõ ràng?
- 19. Làm cách nào để tìm các phương thức được khai báo, khi thực hiện tải lắp ráp thời gian chạy?
- 20. Đếm số truy vấn được thực hiện bởi NHibernate trong một bài kiểm tra đơn vị
- 21. Tôi làm cách nào để thực hiện các truy vấn Xpath loại an toàn trong Java?
- 22. Làm thế nào để thực hiện một số cài đặt Django có thể truy cập bởi nhân viên?
- 23. Truy vấn phương tiện để in phong cảnh?
- 24. Làm thế nào để thực hiện truy vấn được phân trang bằng ScalaQuery?
- 25. Làm thế nào để sử dụng JdbcTemplate để thực hiện các truy vấn tham
- 26. @parameters được thực hiện trước phương thức @beforeclass
- 27. Làm cách nào để có thể sử dụng lại các truy vấn Khung thực thể (sử dụng các phương pháp)?
- 28. Để có được thời gian thực hiện truy vấn MYSQL trong Truy vấn
- 29. Làm cách nào để truy cập các phương thức được xác thực API StackExchange từ tập lệnh perl?
- 30. Phạm vi Django templatetag buộc tôi phải thực hiện thêm các truy vấn
đúng, nhưng câu hỏi yêu cầu cụ thể cho .save() và DEBUG = True không phải là một tùy chọn vì tôi không thể đặt máy chủ trực tiếp của tôi ở dạng DEBUG. Tôi cũng không thể tái tạo vấn đề của mình trên môi trường gỡ lỗi của mình. –
Dường như không có cách dễ dàng về phía trước mà không có DEBUG = True. Đây là gần nhất tôi có thể tìm thấy: http://stackoverflow.com/questions/7181511/logging-django-sql-queries-with-debug-set-to-false – Sid
Có thể bạn có thể đặt cơ sở dữ liệu của mình thành [truy vấn nhật ký] (http://www.postgresql.org/docs/8.3/static/runtime-config-logging.html#GUC-LOG-STATEMENT) (hãy cẩn thận: làm chậm nó) – RickyA