djangoql
DjangoQL: Advanced search language for Django
What it is and what it does
DjangoQL replaces Django admin's standard search with a query language that resembles Python syntax, allowing complex searches using logical operators (and, or), comparison operators (=, !=, <, >, <=, >=), and field traversal via dot notation. It supports string operations (startswith, endswith, contains via ~), date filtering by part, and list membership tests (in, not in), all with browser-based auto-completion.
The package integrates as a mixin and can be customized through schema definitions to limit searchable models and fields for performance or security. It includes a syntax help panel and can coexist with standard search via a checkbox toggle. Custom search fields allow annotation-based queries and fully custom search logic.
Use it for:
- Replace basic admin search with a powerful query interface for filtering complex model hierarchies
- Define restricted search schemas to prevent performance issues or expose only safe fields to user groups
- Build custom search fields that query annotated querysets, such as counting related objects
- Enable date-based filtering by month or year without requiring exact date ranges
- Provide auto-completion suggestions for foreign key and choice fields to guide users through valid values
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
DjangoQL provides an advanced search query language for Django models with auto-completion, supporting logical operators, field joins, and complex filtering through a Python-like syntax.
Yes, with conditions. DjangoQL carries no known vulnerabilities, has low install friction, and the repository shows active maintenance with 1138 stars and recent commits. However, the aging status (199 days since last release) means you should verify compatibility with your specific Django version before adopting. Best suited for teams that need powerful search in Django admin and can tolerate a slower release cadence.
Install
djangoql on PyPI
pip
pip install djangoqluv
uv add djangoqlpoetry
poetry add djangoqlInstalling djangoql
Before you install
Low install friction with a single runtime dependency (ply). Maintenance status is aging—last release was 199 days ago, but the repository remains active with 1138 stars and no archived status.
License in practice
MIT License permits commercial and private use with minimal restrictions, requiring only license and copyright notice retention.
Quickstart
pip install djangoql
# In settings.py, add to INSTALLED_APPS:
INSTALLED_APPS = ['djangoql', ...]
# In admin.py:
from djangoql.admin import DjangoQLSearchMixin
@admin.register(YourModel)
class YourModelAdmin(DjangoQLSearchMixin, admin.ModelAdmin):
pass
Verify before relying
- Whether the aging maintenance status (199 days since last release) affects stability for current Django versions
- Performance characteristics when searching large querysets with complex nested field joins
- Compatibility with Django versions beyond 6.0 mentioned in the description
Package facts
| License | MIT License (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — ply |
| Maintenance | aging — 199 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 753,173/month — #5,150 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: djangoql-0.19.1-py2.py3-none-any.whl
Tags
More Front-Ends packages
SQLAlchemy is a Python SQL toolkit and Object…
permissive · top 100 on PyPI
psycopg2-binarypsycopg2-binary is a PostgreSQL database…
copyleft · top 1,000 on PyPI
alembicAlembic generates and manages database schema…
permissive · top 1,000 on PyPI
weaviate-clientA Python client library for connecting to and…
permissive · top 1,000 on PyPI
databricks-sql-connectorA Python client library that connects to…
permissive · top 1,000 on PyPI
psycopgPsycopg 3 is a PostgreSQL database adapter for…
copyleft · top 1,000 on PyPI
django-admin-autocomplete-filterAdds autocomplete-based filtering to Django…
copyleft · top 15,000 on PyPI
django-data-browserProvides an interactive web interface for…
permissive · top 15,000 on PyPI
django-more-admin-filtersProvides a collection of Django admin filter…
permissive · top 15,000 on PyPI
django-admin-rangefilterAdds date range, datetime range, and numeric…
permissive · top 5,000 on PyPI
django-pg-returningExtends Django's ORM to capture and return rows…
permissive · top 15,000 on PyPI
modelsearchIndexes Django models into Elasticsearch,…
permissive · top 15,000 on PyPI
django-admin-list-filter-dropdownRenders Django admin list filters as dropdown…
permissive · top 5,000 on PyPI
django-tree-queriesQuery hierarchical tree structures in Django…
permissive · top 15,000 on PyPI