2012年6月16日土曜日

Djangoで実行したSQLを確認する

モデル名.object.~~とオブジェクトを実行していると,裏でどのようなSQLが実行されたのか気になることがあると思います.
実際に自分が気になって確認する方法を調べたのでメモを残します.

環境はDjango1.4です.

まずはDjangoの対話環境を起動します.
$ python manage.py shell

必要なものをインポートします
>>> from mysites.models import モデル名
>>> from django.db import connection

SQLを確認したいクエリを実行します.
>>> モデル名.objects.all().latest()

実行されたSQLを確認します.
>>> print(connection.queries[-1]['sql'])
SELECT ~~~ FROM モデル名 ORDER BY ~~~ DESC LIMIT 1

以上です.

※ 例で実行したクエリは最新のレコード一件を返します.

0 件のコメント:

コメントを投稿