2009-11-28 6 views
1

우리 프로젝트에서 실제로 이상한 DB 히트가 발생했습니다. 요청이 어디에서 왔는지 모니터링 할 수있는 방법이 있습니까? SQL 인쇄 미들웨어는 도움이되지만, 그러한 종류의 요청이 생성되어 소스를 찾을 수없는 모든 곳을 살펴 보았습니다.Django의 데이터베이스 요청 모니터링, 라인 번호에 연결

위의 방법을 사용할 수없는 경우 원본을 좁히는 데 도움이되는 정보를 얻으실 수 있습니다.

답변

4

쿼리를 실행하는 코드를 찾으려면 django-debug-toolbar을 설치하여 실행중인 명령과 실행중인 테이블을 파악할 수 있습니다.

이러한 작업을 완료 한 후에는 해당 모델의 경우 Django signals에 연결하고 printassert을 사용하여 코드를 좁히십시오.

나는 파이썬 디버거 중 일부를 수행 할 수있는 더 좋은 방법이있을 것이라고 확신하지만 이것은 내가 생각하기에 가장 먼저 떠오르는 부분이며 아마 스스로를 끝낼 것입니다.

+0

+1 디버그 도구 모음. 각 쿼리가 수행되는 위치의 전체 추적을 제공해야합니다. –

+0

예! django-debug-toolbar는 내가 찾던 바로 그 것이다. 정말 고마워! – CaptainThrowup