Package: django-advancedsearchfilter
# Advanced Search FilterThis is a Django *Application* intended to provided a mechanism for users tosearch on individual fields of the change lists associated model. It alsoprovides a way to specify a date field as a 'date from' and another as a'date to' field.It's integration with Django admin is a bit "hackish" for two reasons:1. it inserts itself into the date hierarchy block in the change list formtemplate, doing so because there isn't another suitable block that it canbe inserted into and still look "decent"2. it uses javascript to redirect the page to the same page, but withquerystring values appropriate for the search. This is because the"advanced search" functionality is provided by a django templatetag/filter, which cannot redirect the request from the backend## Requirements* **Browsers:** should work on IE9+ and most versions of otherbrowsers. Makes use of DOMContentLoaded, window.location.href,document.body.style.display, innerHTML, addEventListener, and querySelector* **Django 1.5** (at least, that's the version it was developed for)* **Django Contrib Admin**## UsageFirst, download/install the app and add it to your settings (also making surethat the django.contrib.admin is installed and activated):INSTALLED_APPS = (# ...'django.contrib.admin',#...'advancedsearchfilter',# ...)You will also need to make sure that you have the `django.core.context_processors.request`context processor added to your `TEMPLATE_CONTEXT_PREPROCESSOR` setting in yoursettings.py file.Then create a `django.forms.ModelForm` that defines the formto be displayed for searching. If this form contains a *Meta* class with a`date_from` or a `date_to` (or both) string property, then it uses the valueof the string to identify a date field on the model it should use the `__gte`or `__lte` query filter on.After that, extend the `advancedsearchfilter/change_list.html` template in your own`templates/admin/change_list.html` (or equivalent):{% extends 'advancedsearchfilter/change_list.html' %}And then, add something like the following to your template:{% block date_hierarchy %}{% with adv_search_form_class="fully.qualified.ModelFormName" %}{{block.super}}{% endwith %}{% endblock %}where the 'fully.qualified.ModelFormName' is the fully qualified object nameof the ModelForm class you created.Or, alternatively, if you want to extend from a different change list, you canmanually add the contents of the`templates/advancedsearchfilter/change_list.html` file to your change listtemplate. You'll want to change the following line in your change list:{% block date_hierarchy %}{{ block.super }} {% advanced_search adv_search_form_class %}{% endblock %}to something like:{% block date_hierarchy %}{% with adv_search_form_class="fully.qualified.ModelFormName" %}{{block.super}}{% endwith %}{% endblock %}where the 'fully.qualified.ModelFormName' is the fully qualified object nameof the ModelForm class you created.Credit------For implementation, customizations or the factored manager product that centralizes factored configuration, please contact us at https://wildcardcorp.cominfo@wildcardcorp.com715.869.3440.. image:: https://www.wildcardcorp.com/logo.png:height: 50:width: 382:alt: Original work by wildcardcorp.com:align: right