Using this, you'll get all executed queries in the console
For example:
2016-02-25 15:57:47 DEBUG utils.py:89 (0.055) SET SQL_AUTO_IS_NULL = 0; args=None 2016-02-25 15:57:47 DEBUG utils.py:89 (0.435) SELECT `table`.`id` FROM `table` ORDER BY `table`.`id` ASC LIMIT 10000; args=()
Add the code below to your local_settings.py (or whatever it's called in your project), make sure the include of this code is AFTER defining LOGGING variable.
DB_LOG = True from settings import LOGGING if DB_LOG: import logging, re class QueryFilter(logging.Filter): def filter(self, record): # exclude PyCharm debug window queries return 'LIMIT 21' not in getattr(record, 'sql', '') class SqlFormatter(logging.Formatter): def format(self, record): record.msg = re.sub(r"((?:u?')?\d+(?:u?')?)" r"(?:,\s*(?:u?')?\d+(?:u?')?)+", r'\1, ...', record.msg) return super(SqlFormatter, self).format(record) params = { 'filters': { 'db_query_filter': { '()': QueryFilter, }, }, 'formatters': { 'debugging': { '()': SqlFormatter, 'format': '%(asctime)s %(levelname)-8s %(filename)s:%(lineno)d %(message)s', 'datefmt' : '%Y-%m-%d %H:%M:%S', }, }, 'handlers': { 'db_console': { 'level': 'DEBUG', 'filters': ['require_debug_true', 'db_query_filter'], 'class': 'logging.StreamHandler', 'formatter': 'debugging', }, }, 'loggers': { 'django.db': { 'level': 'DEBUG', 'handlers': ['db_console'], 'propagate': False, }, } } for key, param in params.items(): try: LOGGING[key].update(param) except KeyError: LOGGING[key] = params