Захоплення SQL-запитів за допомогою панелі інструментів відладки Django

Я закликаю мою програму Django з командного рядка з завитком. Я проходжу Джонс у запиті і збираю відповідь у Джонсі.

У мене встановлена ​​панель інструментів для відладки Django. Чи є спосіб захопити SQL за допомогою панелі інструментів та повернути його з іншою відповіддю json?

Щось на зразок

@json_response
def index(request):
    try:
        ids = json.loads(request.read())['ids']
    except ValueError:
        return HttpResponseBadRequest

    listing = MyModel.public().filter(id__in=[c.split('-')[0] for c in ids])

    prep_list = [ l.details(request) for l in listing ]

    return {'status_code': 0,
            'status_text': 'success',
            'sql_query_list: DjangoDebugToolbar.sql()
            'prep_list': prep_list }

Будь-яка ідея, яку я мав би замінити на DjangoDebugToolbar.sql() ?

0

1 Відповіді

Спробуйте це:

from django.db impабоt connection  
connection.queries

Ви можете отримати останній запит:

print connection.queries[-1]

або

print connection.queries.pop
3
додано
Відмінно, спасибі!
додано Автор Mark L, джерело