view mysite/sqllog.py @ 28:a404f93a68d3

Decrease by 2 orders of magnitude the number of queries needed to generate the gigs page for the Madeira.
author Brian Neal <bgneal@gmail.com>
date Thu, 31 Mar 2011 00:14:34 +0000
parents 0dcfcdf50c62
children
line wrap: on
line source
from django.db import connection
from django.template import Template, Context

class SQLLogMiddleware:

   def process_response ( self, request, response ): 
      time = 0.0
      for q in connection.queries:
         time += float(q['time'])
         t = Template('''
            <p><em>Total query count:</em> {{ count }}<br/>
            <em>Total execution time:</em> {{ time }}</p>
            <ol class="sqllog">
                {% for sql in sqllog %}
                    <li>{{ sql.time }}: {{ sql.sql }}</li>
                {% endfor %}
            </ol>
         ''')
         response.content = "%s%s" % ( response.content, t.render(Context({'sqllog':connection.queries,'count':len(connection.queries),'time':time})))
         return response