Skip to content

mihasK/django-admin-search-filter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Django admin search filter

PyPI - Version

Provides special type of django-admin list filter -- search box with free user input allowed.

Some cases when you need such functionality:

  • You have a regular search box for general search (multilpe fields taken into account), but you sometimes need to search by a specific field.
  • You have a regular search box for flexible substring search, while sometimes you need to search by exact match. At the same time number of unique values for this field is too big to display them as choices filter (although in this particular case auto-complete could be a better option)

The solution provided by this package is you place special (configurable) search input as a list filter.

Idea is taken from this Medium article: https://hakibenita.medium.com/how-to-add-a-text-filter-to-django-admin-5d1db93772d8

Usage

# admin.py

from django_admin_search_filter import get_exact_equals_input_filter, get_icontains_input_filter

...

class SomeModelAdmin(...):
    ...
    list_filter = (
        ...

        get_icontains_input_filter(title_='name', attrs='name', ),  # Substring search, one field
        get_icontains_input_filter(title_='(alt)name', attrs=('name', 'alt_name') ), # Substring search, several fields

        get_exact_equals_input_filter(title_='ID of transaction', attrs='transaction_id', ),  # Exact search, one field
        get_exact_equals_input_filter('ID of transaction/sender/reciever',  # Exact search, several field
                                attrs=('transaction_id', 'sender_id', 'reciever_id' ))

    )

Will result in the following UI:

Alternative text

Installation

  1. pip install django-admin-search-filter
  2. Add "django_admin_search_filter" to django's INSTALLED_APPS (to allow template to be loaded)
  3. Ensure APP_DIRS set to True in templates configuration

Requirements

  • Python 3
  • Django >= 2.2

Licence

MIT

Authors

django_admin_search_filter was written by Mikhail Koipish.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published