django-qc

DB utility to help you catch query inefficiencies in Django.


Keywords
django, database, query, n+1, orm
License
BSD-2-Clause
Install
pip install django-qc==1.0.1

Documentation

https://pypi.org/project/django-qc/ https://pypi.org/project/django-qc/ https://pypi.python.org/pypi/django-qc https://codecov.io/gh/sondrelg/django-query-counter https://pypi.org/project/django-qc/ https://github.com/pre-commit/pre-commit

Django query counter - simple query debugging

Lets you easily catch and fix database query inefficiencies during development by decorating any function or method.

Query counter

The main potential drawback of seeing query data in your code is that commits can become cluttered. We therefore recommend pairing django-qc with a pre-commit hook for removing the comments before they are ever even committed.

Installation

Install using pip:

pip install django-qc

Usage

Simply import the db_helper wrapper and pass verbose=True if you want more details than in the default setting.

from django_qc import db_helper

@db_helper(verbose=True)
def my_function():
    ...

Settings

There's only one setting to configure, but it is required:

DB_HELPER {
    'DEBUG': DEBUG
}

Decorator functions will not do anything if debug is False, and by design does not allow a debug value of True if the general Django debug value is False, as this is intended as a development aid only.