django-autocomplete-light
Fresh autocompletes for Django
What it is and what it does
django-autocomplete-light is a Django form widget library that replaces standard choice and model choice fields with autocomplete-enabled alternatives. It lets users type to filter options rather than scrolling through static lists, improving UX for forms with many choices. The package supports both a native web component (dal_alight) and select2.js, and handles Django's multiple choice fields, model relationships, and generic foreign keys.
The library is designed for developers building Django applications who need to add search-as-you-type functionality to forms without heavy client-side configuration. It integrates directly into Django's form system, supports dynamic widget creation for inline forms, and includes a test API for custom autocomplete logic. The single runtime dependency (django) keeps installation friction low.
Use it for:
- Replace a large dropdown of database records with a searchable autocomplete field in a Django admin or custom form.
- Build multi-step forms where available choices in one field depend on selections in another field.
- Add autocomplete to inline formsets that are created dynamically without page reload.
- Implement custom autocomplete logic with your own queryset filtering and choice creation rules.
- Migrate from plain select fields to select2.js-powered autocompletes with minimal code changes.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides autocomplete widgets for Django forms that integrate with Django's choice and model choice fields, supporting both native web components and select2.js.
Yes. The package is actively maintained, has no known vulnerabilities, carries a permissive MIT license, and solves a common Django UX problem with low install friction. It is well-established (in production since 2012) and supports current Python and Django versions. Install it if you need autocomplete widgets in Django forms.
Install
django-autocomplete-light on PyPI
pip
pip install django-autocomplete-lightuv
uv add django-autocomplete-lightpoetry
poetry add django-autocomplete-lightInstalling django-autocomplete-light
Before you install
Low friction install with a single runtime dependency on django. Actively maintained with a recent release (57 days ago) and 1870 repository stars; supports current Python versions (3.11–3.14) and modern Django (5.2–6.0+).
License in practice
MIT license (permissive) places no restrictions on use, modification, or distribution in proprietary or open-source projects.
Quickstart
pip install django-autocomplete-light
from django_autocomplete_light.widgets import ModelSelect2
# In your form class:
class MyForm(forms.Form):
my_field = forms.ModelChoiceField(
queryset=MyModel.objects.all(),
widget=ModelSelect2(url='my_autocomplete_url')
)
Requires Django 5.2 or 6.0+ and Python 3.11 or later; autocomplete endpoint must be configured in your Django URL routing.
Verify before relying
- Whether django-querysetsequence is automatically installed for generic foreign key support or must be added separately.
- Performance characteristics when handling large querysets or high-frequency autocomplete requests.
- Specifics of how custom scripts integrate with dynamic widget creation in inlines.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.11) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — django |
| Maintenance | actively maintained — 57 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 754,728/month — #5,143 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: django_autocomplete_light-5.0.0-py3-none-any.whl
Keywords: django, autocomplete
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
django-cities-lightProvides Django models and management commands…
permissive · top 15,000 on PyPI
django-select2Provides custom autocomplete form fields for…
permissive · top 15,000 on PyPI
django-admin-autocomplete-filterAdds autocomplete-based filtering to Django…
copyleft · top 15,000 on PyPI
django-choices-fieldProvides Django model fields that store and…
permissive · top 15,000 on PyPI
django-more-admin-filtersProvides a collection of Django admin filter…
permissive · top 15,000 on PyPI
django-recaptchaIntegrates Google reCAPTCHA (V2 Checkbox, V2…
permissive · top 15,000 on PyPI
django-etcProvides a collection of small utility…
permissive · top 15,000 on PyPI
django-ckeditor-5Integrates CKEditor 5, a modern rich-text…
permissive · top 15,000 on PyPI
django-json-widgetProvides a rich JSON editor widget for Django's…
permissive · top 5,000 on PyPI
django-multiselectfieldAdds model and form fields to Django that let…
copyleft · top 5,000 on PyPI