skillfed

djangoql

DjangoQL: Advanced search language for Django

djangoql v0.19.1 753.2K downloads/30d#5,150 on PyPI1,138
Permissive license MIT License AGING released

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 djangoql

uv

uv add djangoql

poetry

poetry add djangoql

Installing 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

Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishProgramming Language :: PythonProgramming Language :: Python :: 2.7Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9

Tags

django admin search languageadvanced django model filteringdjango query syntax with autocompletedjango search with logical operatorsdjango admin search enhancementcomplex model queriesfield join search
django-adminsearch-query-languageautocomplete

More Front-Ends packages