django ORM > SQL 질의문 확인 방법

정현석·2021년 4월 27일
1

django ORM이 실제 SQL 질의문을 확인하는 방법

장고 ORM이 실행하는 질의문 또는 작성한 코드에 대응하는 SQL질의문이 확인하고 싶을 때가 있습니다.
SQL질의문을 구하고 싶은 queryset.querystr을 확인하면됩니다!

User 라는 모델이 있을 때, 모델의 모든 행을 데이터베이스에서 읽어오려면 User.objects.all()과 같은 코드를 작성합니다. 이렇게 구한 쿼리셋의 str(queryset.query)를 확인하여 SQL 질의문을 살펴봅시다.

>>> queryset = User.objects.all()
>>> str(queryset.query)

SELECT 'users'.'id', 'users'.'nickname', 'users'.'password', 'users'.'email', 'users'.'image_url', 'users'.'phone_number', 'users'.'created_at', 'users'.'updated_at' FROM 'users'

>>> queryset = User.objects.filter(id__gt=5)
>>> str(queryset.query)

SELECT 'users'.'id', 'users'.'nickname', 'users'.'password', 'users'.'email', 'users'.'image_url', 'users'.'phone_number', 'users'.'created_at', 'users'.'updated_at' FROM 'users'.'id' > 5

profile
기록하는 벨로그

0개의 댓글