Django QuerySet에서 SQL 가져오기
데이터베이스에서 Django가 사용하는 SQL을 QuerySet 개체에서 가져오려면 어떻게 해야 합니까?이상한 동작을 디버깅하려고 하는데 어떤 쿼리가 데이터베이스로 전송되는지 알 수 없습니다.
쿼리셋을 인쇄합니다.query
기여하다.
>>> queryset = MyModel.objects.all()
>>> print(queryset.query)
SELECT "myapp_mymodel"."id", ... FROM "myapp_mymodel"
Django 1.4.4를 사용했을 때 승인된 답변은 나에게 효과가 없었습니다.원시 쿼리 대신 Query 개체에 대한 참조가 반환되었습니다.<django.db.models.sql.query.Query object at 0x10a4acd90>
.
다음은 쿼리를 반환했습니다.
>>> queryset = MyModel.objects.all()
>>> queryset.query.__str__()
간단:
print my_queryset.query
예를 들어 다음과 같습니다.
from django.contrib.auth.models import User
print User.objects.filter(last_name__icontains = 'ax').query
또한 DEBUG = True인 경우 모든 쿼리가 기록되고 연결에 액세스하여 쿼리를 가져올 수 있습니다.쿼리:
from django.db import connections
connections['default'].queries
django 디버깅툴바 프로젝트는 이를 사용하여 쿼리를 페이지에 깔끔하게 표시합니다.
이 미들웨어는 모든 SQL 쿼리를 콘솔에 출력하고 색상 강조 표시와 실행 시간을 제공합니다.이 기능은 까다로운 요청을 최적화하는 데 매우 유용했습니다.
http://djangosnippets.org/snippets/290/
다른 응답 대신 django-devserver는 콘솔에 SQL을 출력합니다.
언급URL : https://stackoverflow.com/questions/3748295/getting-the-sql-from-a-django-queryset
'source' 카테고리의 다른 글
MySQL 지정된 두 개 이상의 값 중 최소/최대 값을 선택합니다. (0) | 2022.11.14 |
---|---|
"WHERE column ="에 있는 MySQL에서 물음표의 중요성은 무엇입니까? (0) | 2022.11.14 |
다른 루트 디렉터리에 대해 xampp 웹 서버를 설정하는 방법 (0) | 2022.11.14 |
Java regex에서 그룹을 바꿀 수 있습니까? (0) | 2022.11.14 |
일반 인수 vs. 키워드 인수 (0) | 2022.11.13 |