Django Listview Search Admin Autocomplete
This is a fork of django-search-admin-autocomplete (archived). The original package is no longer maintained. This fork adds new features, modern Django support, and bug fixes.
Simple Django app that adds autocomplete search to the admin panel changelist view.
What’s New
Related field search: Search across ForeignKey relations (e.g., client__name, category__title)
List filter mode (default): Autocomplete selection filters the changelist instead of redirecting to detail
Django 4+ / 5+ support: Fixed deprecated url() imports
Modern build system: pyproject.toml with hatchling (no more setup.py)
Python 3.8–3.13 support
Comprehensive test suite (18 tests)
Requirements
Python: 3.8+
Django: 3.2+
Installation
pip install django-listview-search-admin-autocomplete
INSTALLED_APPS = [
...
'search_admin_autocomplete',
...
]
Usage
Basic usage with direct fields:
from search_admin_autocomplete.admin import SearchAutoCompleteAdmin
class MyModelAdmin(SearchAutoCompleteAdmin):
search_fields = ['name', 'description']
admin.site.register(MyModel, MyModelAdmin)
Configuration Options
class MyModelAdmin(SearchAutoCompleteAdmin):
search_fields = ['name', 'client__name']
search_prefix = '__icontains' # Search operator (default: '__contains')
max_results = 20 # Max autocomplete results (default: 10)
redirect_to_detail = True # True: go to detail page, False: filter list (default: False)
Behavior Modes
Filter list view (default):
class MyModelAdmin(SearchAutoCompleteAdmin):
search_fields = ['name', 'client__name']
# redirect_to_detail = False # default
User selects from autocomplete → search form submits → changelist filters results (same as native Django search).
Redirect to detail page:
class MyModelAdmin(SearchAutoCompleteAdmin):
search_fields = ['name', 'client__name']
redirect_to_detail = True
User selects from autocomplete → redirects to the object’s change/detail page.
Customization
If you have a custom change_list.html:
admin.py
from search_admin_autocomplete.admin import SearchAutoCompleteAdmin
class MyModelAdmin(SearchAutoCompleteAdmin):
change_list_template = 'admin/custom-list.html'
search_fields = ['name', 'client__title']
admin.site.register(MyModel, MyModelAdmin)
admin/custom-list.html
{% extends 'search_admin_autocomplete/change_list.html' %}
{% block object-tools %}
Your custom html...
{{ block.super }}
{% endblock %}
Running Tests
cd example
python manage.py test search_admin_autocomplete
Changelog
1.1.0 (2026)
Add redirect_to_detail option (default: False)
Default behavior now filters changelist like native Django search
Set redirect_to_detail = True for old detail-page redirect behavior
1.0.0 (2026)
Forked from archived django-search-admin-autocomplete
Added support for related field lookups (e.g., client__name)
Updated for Django 4+ and 5+ compatibility
Modernized package configuration with pyproject.toml
Added comprehensive test suite (18 tests)
Production-ready release
0.2.1 and earlier
Original release by linevich (see upstream repo)
Metadata
Release files for django-listview-search-admin-autocomplete 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| django_listview_search_admin_autocomplete-1.1.0.tar.gz | 26.6 kB | Without provenance | Details for django_listview_search_admin_autocomplete-1.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| django_listview_search_admin_autocomplete-1.1.0-py3-none-any.whl | Python 3 | none | any | Details for django_listview_search_admin_autocomplete-1.1.0-py3-none-any.whl |
Total release size: 61.2 kB
Release files / django_listview_search_admin_autocomplete-1.1.0.tar.gz
| Download URL | django_listview_search_admin_autocomplete-1.1.0.tar.gz |
|---|---|
| Size | 26.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9901d7b4d12e8ebe72e92fe19dbb3b948d1d7326b3d6f6baeeb281a0fe24af33
|
|
BLAKE2b-256 checksum How to use checksums |
8233dc7552dc86a300e3cf7aea8c2c15222964eff375667bb77e7d29b538e999
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.5
|
Release files / django_listview_search_admin_autocomplete-1.1.0-py3-none-any.whl
| Download URL | django_listview_search_admin_autocomplete-1.1.0-py3-none-any.whl |
|---|---|
| Size | 34.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3b849063b864ea08352774ed57ec49d58b8d0236c617084d710d58ac803bf422
|
|
BLAKE2b-256 checksum How to use checksums |
22bd2cf9e2756885ab0157dde5397506bb264adbd36d674e47b84516bf0b8e17
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.5
|
Security for django-listview-search-admin-autocomplete 1.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.