2011-11-16 26 views
5

Tôi đang cập nhật một đối tượng mô hình django. Sau khi đặt giá trị cho mỗi thuộc tính khi tôi gọi số obj.save(), nó sẽ phát hiện tôi OperationalError: (2006, 'MySQL server has gone away'). Tôi đang tuyệt vọng để biết những gì đang gây ra lỗi sau. Làm thế nào tôi có thể nhận được các truy vấn ?? Như khi lưu phương pháp thất bại vì lỗi trên nó không đăng nhập truy vấn. Bất kỳ đề xuất nào ?? Cảm ơn trước.Làm cách nào tôi có thể nhận được truy vấn cho .save() trong django?

+0

[django toolbar] (https://github.com/robhudson/django-debug-toolbar) – danihp

Trả lời

9

Bạn có thể thử

from django.db import connection 
connection.queries 

nó sẽ cung cấp cho bạn danh sách tất cả các truy vấn mà thực hiện thông qua Django (bao gồm cả lệnh .save()). Để có được truy vấn của bạn, bạn có thể làm,

try: 
    modelObj.save() 
except OperationalError: 
    from django.db import connection 
    print connection.queries[-1] 
+2

Đừng quên để thiết lập settings.DEBUG True để xem các truy vấn – dbf

Các vấn đề liên quan