테스트 목적으로 장고가 자동으로 select_related() 호출에 지정되지 않은 관련 테이블을 자동으로 가져 오지 않도록하려면 어떻게해야합니까?Django - 자동 관련 테이블 불러 오기 방지
쿼리 중에 관련 모델 데이터를 가져 오기 위해 select_related()를 많이 사용하는 대규모 응용 프로그램이 있습니다. 모든 select_related() 호출은 기본값에 의존하기보다는 특정 관련 모델을 지정하는 데 사용됩니다. select_related ('foo는', '바', 'foo__bar') 응용 프로그램으로
장고 행복하게 와 친절로 도망 간다 어디 시나리오의 수를 떠나 select_related 통화 이 완전히 유지하지 않은, 성장했습니다 관련 모델 행을 가져 오는 데이터베이스 이것은 데이터베이스 히트 수를 상당히 증가시킵니다. 분명히 원하지 않습니다.
나는 django.db.connection.queries 컬렉션을 사용하여 생성 된 쿼리를 확인하여이를 추적하는 데 성공했지만 일부는 으로 남아 있습니다.
django 코드에서 적절한 패치 위치를 찾으려고 시도 했으므로이 시나리오에서는 예외가 발생하여 추적이 훨씬 쉬워졌지만 코드가 손실되는 경향이 있습니다.
감사합니다.
개발을 위해 장고 디버그 도구 모음을 사용하는 것이 좋습니다. 그것은 (쿼리의 총 수와 실행 된 각각의 쿼리와 같이) 상세하게 데이터베이스에서 실행 된 쿼리를 보여줍니다. https://github.com/robhudson/django-debug-toolbar – FallenAngel
@FallenAngel, 팁 주셔서 감사합니다. 사용하지 않았습니다. 전에 디버그 도구 모음과 그것은 엄청나게 유용합니다. –