Django에서 SQL 쿼리를 검사하는 방법
쿼리를 실행할 때 Django가 실행하는 SQL 문을 알고 싶으십니까? 대답은 간단합니다:
1. 문서에서 답을 찾으세요.
Django 문서의 FAQ 섹션에서 간단한 답을 제공합니다:
2 . 데이터베이스 Connections
에 액세스하면 django.db.connection.queries를 통해 SQL에 액세스할 수 있습니다. 쿼리 목록:
from django.db import connection
print(connection.queries)
3. Queryset 객체 보기
Queryset 객체에는 실행할 쿼리가 포함된 쿼리 속성이 있습니다:
print(MyModel.objects.filter(name="my name").query)
참고: 에 의한 쿼리 출력은 유효한 SQL이 아닙니다. 그 이유는 다음과 같습니다.
"Django는 실제로 매개변수를 보간하지 않습니다. 적절한 작업을 수행하는 데이터베이스 어댑터에 쿼리와 매개변수를 별도로 보냅니다."(Django 버그 보고서 #17741에서)
따라서 쿼리 출력을 데이터베이스로 직접 보내지 마십시오.
쿼리 재설정 특정 기간에 실행된 쿼리 수를 확인하는 등 쿼리를 재설정해야 하는 경우 django.db.reset_queries를 사용할 수 있습니다. &&&]
from django.db 가져오기 재설정_쿼리
django.db에서 가져오기 연결
재설정_쿼리()
#쿼리 실행
인쇄(연결.쿼리)
>>> []
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3