>  기사  >  백엔드 개발  >  Django가 실행한 SQL 쿼리를 어떻게 검사할 수 있나요?

Django가 실행한 SQL 쿼리를 어떻게 검사할 수 있나요?

Barbara Streisand
Barbara Streisand원래의
2024-11-02 16:59:03733검색

How Can I Inspect the SQL Queries Executed by Django?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.