Djangoの発行する生SQLが見たい
ForeignKeyとfilterのメモ - AtAsAtAmAtArA
DjangoのORマッパーでSQL文を簡単に出力するサンプル - 十番目のムーサ
というやりとりを見て。シェルで確かめるのが楽だし便利。
django.db.connection.queriesで見られます。
おもむろにdjangoのシェルを起動
$ python manage.py shell
>>> from django.db import connection >>> connection.queries [] # 最初は当然からっぽ >>> from entry.models import Entry # 適当にモデルをインポート >>> Entry.objects.filter(is_active=True).order_by('-modified') [<Entry: ぴよ>, <Entry: aa>, <Entry: ふが>, <Entry: ほげ>] >>> connection.queries[-1]['sql'] u'SELECT "entry"."id", "entry"."del_flg", "entry"."author_id", "entry"."title", "entry"."body", "entry"."slug", "entry"."created", "entry"."modified", "entry"."publish", "entry"."is_active" FROM "entry" WHERE "entry"."is_active" = True ORDER BY "entry"."modified" DESC LIMIT 21' >>> connection.queries[0].keys() ['time', 'sql'] # 実行時間と生SQLが入ってる
詳しくは公式ドキュメントのFAQを参照してください。