Install & Compatibility
Where this runs
tested against v2.1.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.95 runs
installs and imports cleanly · install 0.0s · import 0.692s · 66.4MB
glibcpy 3.10–3.95 runs
installs and imports cleanly · install 3.4s · import 0.622s · 67MB
66MB installed
● package 66MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
zen_queries
✓ import zen_queries
✗ from zen_queries import ...
Most common import style is to import the module and use zen_queries.queries_disabled() etc.
fetch
✓ from zen_queries import fetch
✗ from django.db import connections; ...
Use fetch() to force execution of a queryset within a disabled block.
Basic usage: context manager or decorator to disable queries, raising an error if any query is attempted.
import zen_queries
from django.db import connection
with zen_queries.queries_disabled():
# Any query executed here will raise an error
# pass
# Or use as a decorator on a function
@zen_queries.queries_disabled()
def my_view(request):
# Queries disabled inside
pass
Errors
Common errors & fixes
AssertionError: Database queries disabled inside a queries_disabled context
A database query was executed inside a `queries_disabled()` context.
fixIdentify the query and either move it outside the context or use `fetch()` to explicitly allow a prefetch or specific query.
AttributeError: module 'zen_queries' has no attribute 'queries_disabled'
Using an older version (pre-1.0?) or incorrect import; the API was renamed.
fixEnsure you have installed django-zen-queries 1.0+ and use `zen_queries.queries_disabled()`.
Upgrade
Version history
2.1.0latest on PyPI · released Jul 27, 2021
Audit
Dependencies
DjangorequiredRequires Django >=2.0 for database instrumentation API