Capture SQL-query's via de debug-werkbalk van Django

Ik bel mijn Django-applicatie vanaf de opdrachtregel met curl. Ik verstrijk json in het verzoek en verzamel ook een reactie in json.

Ik heb de Django-foutopsporing-werkbalk geïnstalleerd. Is er een manier om de SQL via de werkbalk vast te leggen en terug te sturen met de rest van het json-antwoord?

Zoiets als

@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 }

Enig idee wat ik zou plaatsen ter vervanging van DjangoDebugToolbar.sql() ?

0

1 antwoord

Probeer dit:

from django.db impoft connection  
connection.queries

je kunt de laatste query doen:

print connection.queries[-1]

of

print connection.queries.pop
3
toegevoegd
Perfect bedankt!
toegevoegd de auteur Mark L, de bron