Django에서 SQL 쿼리를 검사하는 방법
Django가 쿼리를 실행할 때 실행하는 SQL 문을 알고 싶으십니까? 대답은 간단합니다.
1. 문서에서 답을 찾으세요.
Django 문서의 FAQ 섹션에서 간단한 답을 제공합니다.
2 . 데이터베이스 연결
은 django.db.connection.queries를 통해 SQL 쿼리 목록에 액세스할 수 있습니다:
<code class="python">from django.db import connection print(connection.queries)</code>
3. Queryset 개체 보기
Queryset 개체에는 실행할 쿼리가 포함된 query 속성이 있습니다.
<code class="python">print(MyModel.objects.filter(name="my name").query)</code>
참고: 의 쿼리 출력은 유효한 SQL이 아닙니다. 그 이유는 다음과 같습니다.
"Django는 실제로 매개변수를 보간하지 않습니다. 쿼리와 매개변수를 별도로 데이터베이스 어댑터에 보내 적절한 작업을 수행합니다.
(Django 버그 보고서 #17741에서 가져옴) )
따라서 쿼리 출력을 데이터베이스로 직접 보내지 마세요.
쿼리 재설정
특정 기간에 실행된 쿼리 수를 확인하는 등 쿼리를 재설정해야 하는 경우 django.db.reset_queries를 사용할 수 있습니다.
<code class="python">from django.db import reset_queries from django.db import connection reset_queries() # 运行你的查询 print(connection.queries) >>> []</code>
위 내용은 Django가 실행한 SQL 쿼리를 어떻게 검사할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!