Django의 SQL 쿼리 문제 해결
이 질문은 쿼리 작업 중에 Django가 실행하는 SQL 쿼리를 보는 방법을 조사합니다.
해결책:
Django 문서 FAQ에 따르면 Django는 SQL 쿼리를 검사하기 위한 두 가지 옵션을 제공합니다:
<code class="python">from django.db import connection print(connection.queries)</code>
<code class="python">print(MyModel.objects.filter(name="my name").query)</code>
참고: 이러한 메서드로 표시되는 쿼리 출력은 유효한 SQL 구문이 아닙니다. Django는 쿼리 매개변수를 보간하지 않고 대신 실행을 위해 쿼리와 매개변수를 별도로 데이터베이스 어댑터에 보내 데이터 무결성을 보장합니다. 따라서 쿼리 출력을 데이터베이스에서 직접 실행하지 마십시오.
예를 들어 특정 기간 내에 실행된 쿼리 수를 모니터링하기 위해 쿼리 목록을 재설정하려면 django.db에서 Reset_queries를 사용하세요.
<code class="python">from django.db import reset_queries from django.db import connection reset_queries() # Execute your query here print(connection.queries) # Returns an empty list</code>
위 내용은 Django에서 실행된 SQL 쿼리를 보는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!