Package: django-showmequeries
Maintained byPlatzi TeamThis project is a fork fromdjango-querycount, this project
gives you a middleware that prints statics of DB query in Django’s runserver
console output.Installationpip install django-showmequeriesJust addquerycount.middleware.QueryCountMiddlewareto yourMIDDLEWARE.Notice that django-showmequeries is hard coded to work only in DEBUG mode set to trueSettingsThere are two possible settings for this app: The first defines threshold
values used to color output, while the second allows you customize requests
that will be ignored by the middleware.  The default settings are:QUERYCOUNT = {
    'THRESHOLDS': {
        'MEDIUM': 50,
        'HIGH': 200,
        'MIN_TIME_TO_LOG':0,
        'MIN_QUERY_COUNT_TO_LOG':0
    },
    'IGNORE_REQUEST_PATTERNS': [],
    'IGNORE_SQL_PATTERNS': [],
    'DISPLAY_DUPLICATES': None,
    'RESPONSE_HEADER': 'X-DjangoQueryCount-Count'
    'MAX_TIME_TO_CHECK_SLOWER': 0.1,
}TheQUERYCOUNT['THRESHOLDS']settings will determine how many queries are
interpreted as high or medium (and the color-coded output). In previous versions
of this app, this settings was calledQUERYCOUNT_THRESHOLDSand that setting
is still supported.TheQUERYCOUNT['IGNORE_REQUEST_PATTERNS']setting allows you to define a list of
regexp patterns that get applied to each request’s path. If there is a match,
the middleware will not be applied to that request. For example, the following
setting would bypass the querycount middleware for all requests to the admin:QUERYCOUNT = {
    'IGNORE_REQUEST_PATTERNS': [r'^/admin/']
}TheQUERYCOUNT['IGNORE_SQL_PATTERNS']setting allows you to define a list of
regexp patterns that ignored to statistic sql query count. For example, the following
setting would bypass the querycount middleware for django-silk sql query:QUERYCOUNT = {
    'IGNORE_SQL_PATTERNS': [r'silk_']
}TheQUERYCOUNT['RESPONSE_HEADER']setting allows you to define a custom response
header that contains the total number of queries executed. To disable this header,
the supplyNoneas the value:QUERYCOUNT = {
    'RESPONSE_HEADER': None
}TheQUERYCOUNT['DISPLAY_DUPLICATES']setting allows you
to control how the most common duplicate queries are displayed. If the setting
isNone(the default), duplicate queries are not displayed. Otherwise, this
should be an integer. For example, the following setting would always print the
5 most duplicated queries:QUERYCOUNT = {
    'DISPLAY_DUPLICATES': 5,
}TheQUERYCOUNT['MAX_TIME_TO_CHECK_SLOWER']setting allows you
to control what is a slower query. For example, the following setting would print the slower query,
if the query is slower than 50ms:QUERYCOUNT = {
    'MAX_TIME_TO_CHECK_SLOWER': 0.05,
}LicenseThis code is distributed under the terms of the MIT license.TestingRunpython manage.py test querycountto run the tests. Note that this will
modify your settings so that your project is in DEBUG mode for the duration
of thequerycounttests.(side-note: this project needs better tests; for the moment, there are only
smoke tests that set up the middleware and call two simple test views).ContributingBug fixes and new features are welcome! Fork this project and send a Pull Request
to have your work included. Be sure to add yourself toAUTHORS.rst.