DjangoQL: Advanced search language for Django (iplweb fork with i18n)
Project description
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
Installation
Using uv (recommended):
$ uv add djangoql-iplweb
Using pip:
$ pip install djangoql-iplweb
Add 'djangoql' to INSTALLED_APPS in your settings.py:
INSTALLED_APPS = [
...
'djangoql',
...
]
For full setup instructions and usage examples, see the Documentation below.
Documentation
📖 Full documentation: https://iplweb.github.io/djangoql-iplweb/
The site is built with MkDocs from the docs/ directory. Key pages:
- Installation — complete setup guide
- Django admin integration —
DjangoQLSearchMixinand admin search modes - Language reference — query syntax, operators, and examples
- Schema & custom fields — restrict searchable models/fields, custom search fields
- Derived fields — date/time parts, relation aggregates, custom search logic
- Outside the admin —
DjangoQLQuerySetandapply_search() - Completion widget — standalone JS widget outside the admin
- Internationalization — i18n support and supplied locales
Supported by
This fork is graciously supported and maintained by iplweb.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file djangoql_iplweb-0.22.1.tar.gz.
File metadata
- Download URL: djangoql_iplweb-0.22.1.tar.gz
- Upload date:
- Size: 246.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
92b45984c942cd02db998aa6172b289965611d6bde9cd2071eda810f35171fe8
|
|
| MD5 |
2a7d063cccf5be83c405838c17f1f5e3
|
|
| BLAKE2b-256 |
c724eaf229dca0a975be3128ee13873a2d558862f91b8f3c4723a40e61893743
|
File details
Details for the file djangoql_iplweb-0.22.1-py3-none-any.whl.
File metadata
- Download URL: djangoql_iplweb-0.22.1-py3-none-any.whl
- Upload date:
- Size: 283.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
02c31a06b86d74579e70d50bc7f4b6900c2418b573e92dd12b854de6c8774a0b
|
|
| MD5 |
28a72d768cafb096d9b26e318af9ccc2
|
|
| BLAKE2b-256 |
4526a20605b9267078ca95027bdb4b8864167791df727b69d3510a3f1071f3da
|