В прошлых версиях django вы можете построить набор запросов, а затем сделать .as_sql() на нем, чтобы узнать окончательный запрос.
в Django 1.2.1 есть функция._as_sql(), которая возвращает что-то подобное, но не то же самое.
В прошлых версиях:
qs=Model.objects.all()
qs.as_sql() ====>
SELECT `model_table.id`, `model_table.name`, `model_table.size` from model_table
Это показывает мне много информации.
Но если я попробую в Django 1.2.1
from django.db import connections
con=connections['default']
qs=Model.objects.all()
qs._as_sql(con) ====>
SELECT U0.`id` from model_table U0
Это не показывает, какие поля действительно выбраны. Я знаю, что эта информация доступна где-то, потому что в шаблонах я все еще могу сделать:
{% for q in sql_queries %}
{{q.time}} - {{q.sql}}
{% endfor %}
который показывает мне полную версию запроса (включая выбранные поля)
Мой вопрос: как я могу получить эту полную версию внутри оболочки?