DjangoQL¶
Advanced search language for Django, with auto-completion. Supports logical operators, parenthesis, table joins, and works with any Django model. Tested on Python 3.10–3.14, Django 5.2 and 6.0. The auto-completion feature has been tested in Chrome, Firefox, Safari, IE9+.
This is a community fork.
djangoql-iplwebis a fork of the original DjangoQL by ivelum — install the upstream package fromdjangoqlon PyPI. This fork adds internationalization (i18n) of error messages and modernized packaging/tooling.These changes are offered back to the upstream project. If the original maintainers merge them, please switch back to the upstream
djangoqlpackage — this fork exists only to make the improvements available in the meantime, and will defer to upstream once they land there.It is published on PyPI as
djangoql-iplweb, but the import name staysdjangoql(soINSTALLED_APPSandimport djangoqlare unchanged).
See a video: DjangoQL demo

Features¶
- Python-like query syntax: logical operators (
and,or), parenthesis, and the full set of comparison operators - Searches across model relations via joins, e.g.
author.last_name = "Tolstoy" - Works with any Django model and drops into the Django admin with a single mixin
- Live auto-completion of model field names and values in the admin
- Configurable schema to restrict searchable models/fields and provide suggestion options
- Custom search fields for annotations and fully custom search logic
- Internationalized error messages with translation catalogs for 11 locales
- Usable outside the Django admin, including a standalone JavaScript completion widget
Supported versions¶
DjangoQL is tested against the following Django × Python combinations:
| Django | 3.10 | 3.11 | 3.12 | 3.13 | 3.14 |
|---|---|---|---|---|---|
| 5.2 LTS | ✓ | ✓ | ✓ | ✓ | ✓ |
| 6.0 | — | — | ✓ | ✓ | ✓ |
Supported by¶
This fork is graciously supported and maintained by iplweb.
License¶
MIT
See Installation to get started.