Django Simple Search
2017-03-29
The django admin has a useful search_fields
option, which adds search functionality to the change list via simple configuration:
class MyModelAdmin(admin.ModelAdmin):
...
search_fields = ('title', 'description', '=id')
It's not very smart, but something like it can often come in handy on the frontend. Django simple search aims to provide the same functionality and level of convenience on the frontend as search_fields
does in the admin.
Installation
pip install django-simple-search
Or download the source from https://pypi.python.org/pypi/django-simple-search/
Django 1.8 or higher is required.
Quick start
from simple_search import search_filter
from .models import MyModel
query = 'test'
search_fields = ['^title', 'description', '=id']
f = search_filter(search_fields, query)
filtered = MyModel.objects.filter(f)
For convenience you can create a search form class via the provided factory:
from .models import MyModel
from simple_search import search_form_factory
SearchForm = search_form_factory(MyModel.objects.all(),
['^title', 'description'])
See the documentation for more information