Hi Stackoverflow,Làm thế nào để gỡ lỗi: Lỗi nội giao dịch vãng lai được hủy bỏ, các lệnh bị bỏ qua cho đến khi kết thúc khối giao dịch
tôi làm bước đầu tiên của tôi với GeoDjango và tôi đang tìm kiếm các lựa chọn tốt hơn để kiểm tra báo cáo lỗi sql.
Cho đến giờ, tôi chỉ muốn an toàn một điểm lng + lat trong bảng postgresql của mình.
Mô hình này được định nghĩa với:
geolocation = models.PointField(_('Geo Location'),
geography=True,
null = True,
blank = True,
help_text=_('Geolocation with Longitude and Latitude'))
objects = models.GeoManager()
Theo quan điểm của tôi, tôi cố gắng thực hiện lệnh sau
savedProject.geolocation = GEOSGeometry('POINT(%s %s)' %(u_lng,u_lat))
nhưng tôi nhận được lỗi sau khi tôi cố gắng để lưu các hình thức:
Loại ngoại lệ: InternalError Giá trị ngoại lệ: giao dịch hiện tại là bị hủy bỏ, các lệnh bị bỏ qua cho đến khi kết thúc khối giao dịch
Lý do cho lỗi này là gì? Tôi tin rằng có thể có điều gì đó sai trái với câu lệnh sql, nhưng cách tốt nhất để kiểm tra là gì? Django chỉ cung cấp thông báo lỗi chung "Lỗi nội bộ".
Cảm ơn sự giúp đỡ và đề xuất của bạn!
Cấu hình ghi nhật ký SQL được đề xuất của bạn không cung cấp bất kỳ tiện ích bổ sung nào bàn điều khiển ion ghi lại cho tôi. Tôi có DEBUG = True, vì vậy tôi không chắc chắn những gì khác để cố gắng thực sự nhìn thấy SQL. Tôi đã có một lỗi trong cuộc gọi .extra() của tôi, nơi tôi có lỗi đánh máy. Đã cho tôi một vài giờ để nhận thấy nó. Có thể là một miếng bánh mà tôi có thể thấy được SQL mà tôi đã tạo ra. Tôi đã nhận được vấn đề của tôi cố định, nhưng Django chắc chắn không có sự giúp đỡ. – gdonald
Tôi đưa ra 1 câu trả lời của bạn, bởi vì "Trong hầu hết các trường hợp, điều này có nghĩa là câu lệnh SQL trước đó không thực hiện được." chính xác là vấn đề của tôi. Theo dõi ngăn xếp cho thấy một đối tượng không lưu, nhưng nó thực sự là một truy vấn ở trên nó. Đó là kinh nghiệm của tôi rằng dấu vết ngăn xếp Django không hữu ích chút nào trong hầu hết các trường hợp. – gdonald
Tôi đang bận tâm bởi "không cung cấp ** bất kỳ đăng nhập bảng điều khiển ** bổ sung nào". Vì vậy, tôi cập nhật câu trả lời để bao gồm một cách dễ dàng để kiểm tra cấu hình LOGGING này. Điều này cho phép bạn biết nếu điều này đến frob dự án của bạn (cài đặt?) Hoặc môi trường. – jpic