我想看看什麼查詢在django的模型.save()方法上執行。由於我處於生產環境中,因此我無法使用Django Toolbar。如何打印由django .save()方法執行的查詢?
6
A
回答
2
有2種方式:
在Django的1.3及以上,你可以使用日誌記錄,我相信轉儲SQL查詢到日誌。 https://docs.djangoproject.com/en/dev/topics/logging/
似乎沒有DEBUG = True的簡單方法。這是最接近我能找到的:Logging Django SQL queries with DEBUG set to False
4
基於Sid的答案,這個片段(http://djangosnippets.org/snippets/1973/)我這個替代Postgres的DB-包裝:
# 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
然後在settings.py
,用,而不是默認的後端(在我的情況,'ENGINE': 'django.db.backends.postgresql_psycopg2'
)
現在connection.queries
將包含所有的疑問!
相關問題
- 1. 如何強制django打印每個執行的sql查詢
- 2. C#如何實現執行多重檢查的Save方法?
- 3. 如何打印不用彷徨查詢集的查詢在Django
- 4. Django錯誤:save()方法
- 5. Yii2:如何在model-> save()後執行sql查詢
- 6. 打印由Grails生成的Mysql查詢
- 7. 如何打印wordpress查詢?
- 8. 由npm執行本地(--save-dev)工具
- 9. 如何打印由SimpleJdbcTemplate執行的最終SQL
- 10. 的Django的ModelForm save()方法的問題
- 11. 查詢執行計時方法
- 12. 執行此查詢的其他方法?
- 13. 執行此查詢的不同方法?
- 14. 查詢打印
- 15. Django Admin Queryset方法覆蓋;執行查詢不佳
- 16. Django的查詢執行行爲
- 17. mongoosejs在方法中執行查詢
- 18. 打印控制器CakePHP的最後執行的查詢3
- 19. 在jQuery.Post方法中執行mySQL查詢
- 20. 如何在Perl的DBI填充佔位符後打印執行的SQL查詢?
- 21. 如何打印mysql語句執行/將在django語句上執行?
- 22. 如何打印查詢的字段?
- 23. 使用打印關閉查詢執行分析目的
- 24. Oracle連接preparedStatement對象打印出要執行的查詢
- 25. 如何使用Rails的「find」方法執行AND或OR查詢?
- 26. 如何在Zend Framework中執行之前打印精確的sql查詢2
- 27. 如何在執行查詢後在SPARQL中打印檢索到的語句
- 28. Django - 如何更新模型save()方法中的字段?
- 29. Django - 有沒有辦法查看ORM執行的查詢?
- 30. ActiveRecord - 查詢執行後如何執行?
正確,但問題特別要求.save()和DEBUG = True,因爲我無法在DEBUG中設置我的實時服務器,所以不是一個選項。我也無法在我的調試環境中重現我的問題。 – 2012-03-28 16:04:46
似乎沒有DEBUG = True的簡單方法。這是我能找到的最接近的:http://stackoverflow.com/questions/7181511/logging-django-sql-queries-with-debug-set-to-false – Sid 2012-03-28 16:14:35
也許你可以設置你的數據庫爲[日誌查詢]( http://www.postgresql.org/docs/8.3/static/runtime-config-logging.html#GUC-LOG-STATEMENT)(注意:放慢速度) – RickyA 2013-01-16 15:02:45