0

I'm calling my Django application from the command line with curl. I'm passing json in the request and collecting a response in json as well.

I have the Django debug toolbar installed. Is there a way I could capture the SQL via the toolbar and return it with the rest of the json response?

Something like

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

Any idea what I'd put in replacement of DjangoDebugToolbar.sql()?

1 Answer 1

3

Try this:

from django.db import connection  
connection.queries

you can get de last query doing:

print connection.queries[-1]

or

print connection.queries.pop
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.