2011-10-27 63 views
0

我使用curl從命令行調用我的Django應用程序。我在請求中傳遞json並在json中收集響應。通過Django調試工具欄捕獲SQL查詢

我安裝了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()

回答

3

試試這個:

from django.db import connection 
connection.queries 

你可以得到去上次查詢做:

print connection.queries[-1] 

print connection.queries.pop 
+0

完美,謝謝! –