Recurring event tools for django
Project description
Django simple search provides the same functionality and convenience that search_fields does in the django admin.
See http://gregbrown.co.nz/code/django-simple-search/ for more details.
Installation
Download the source from https://pypi.python.org/pypi/django-simple-search/ and run python setup.py install, or:
> pip install 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'])
Reference
simple_search.search_filter(search_fields, query)
Given a list of search_fields to search on and a query, return a models.Q object which can be used to filter a queryset.
search_fields behaves exactly like the django admin search_fields option. Example:
search_fields = [ # match from the start of the title field '^title', # match anywhere within the description field 'description', # match from the start of the related category's title field '^category__title', # exact match on object id '=id' ]
simple_search.search_form_factory(queryset, search_fields)
Create a search form class which will filter queryset according to search_fields and the form field q. Example:
# forms.py from .models import MyModel from simple_search import search_form_factory SearchForm = search_form_factory(MyModel.objects.all(), ['^title', 'description']) # views.py from django.shortcuts import render from .forms import SearchForm @render('search.html') def search(request): form = SearchForm(request.GET or {}) if form.is_valid(): results = form.get_queryset() else: results = MyModel.objects.none() return { 'form': form, 'results': results, }
Running tests
Use tox (https://pypi.python.org/pypi/tox):
> pip install tox > cd path-to/django-simple-search > tox
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file django-simple-search-1.0.2.tar.gz
.
File metadata
- Download URL: django-simple-search-1.0.2.tar.gz
- Upload date:
- Size: 5.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5edaa08c610bf49f8b51de2cfe3e168457a821916e732c82c562ba1ab8ed4743 |
|
MD5 | b54eb4a4517b867a5784d207b183b588 |
|
BLAKE2b-256 | cece6c07387b07de2e69710b8c313d426acbb735e8e99226dd230af58cea8cfc |