Debian packaging for django-filter
Go to file
Ryan P Kilby 8feac3930b Fix runshell sync behavior 2016-04-12 12:35:54 -04:00
django_filters Fix DateRangeFilter date truncation. 2016-03-25 17:28:51 -04:00
docs Small grammar fixes 2016-04-04 03:01:39 -04:00
requirements Prepare for 0.13 release 2016-03-11 20:38:25 +01:00
tests Fix date range tests by asserting what isn't valid 2016-04-02 15:53:21 +05:30
.bumpversion.cfg Prepare for 0.13 release 2016-03-11 20:38:25 +01:00
.gitignore Added tox config file 2015-05-16 21:03:23 +02:00
.travis.yml test on final version of django 1.9 2015-12-03 21:49:13 -05:00
AUTHORS group filter fields with meta option 'together' 2015-03-17 10:12:29 +00:00
CHANGES.rst Add support for DurationField. 2016-03-14 20:45:16 +01:00
LICENSE Small license changes (acknowledge individual contributors). 2012-10-21 09:22:30 +02:00
MANIFEST.in Prepare for 0.13 release 2016-03-11 20:38:25 +01:00
README.rst Prepare for 0.13 release 2016-03-11 20:38:25 +01:00
runshell.py Fix runshell sync behavior 2016-04-12 12:35:54 -04:00
runtests.py Consolidate shell/test settings, replace syncdb w/ migrate 2015-11-23 03:06:24 -05:00
setup.cfg Fixed support for newer wheel versions. 2013-07-27 12:25:01 +02:00
setup.py Prepare for 0.13 release 2016-03-11 20:38:25 +01:00
tox.ini Update Django 1.9 version identifier 2016-02-05 17:45:38 +01:00

README.rst

Django Filter
=============

Django-filter is a reusable Django application for allowing users to filter
querysets dynamically.

Full documentation on `read the docs`_.

.. image:: https://travis-ci.org/carltongibson/django-filter.svg?branch=master
    :target: https://travis-ci.org/carltongibson/django-filter

Requirements
------------

* Python 2.7, 3.2, 3.3, 3.4, 3.5
* Django 1.8, 1.9

Installation
------------

Install using pip::

    pip install django-filter

Or clone the repo and add to your PYTHONPATH::

    git clone git@github.com:carltongibson/django-filter.git

Usage
-----

Django-filter can be used for generating interfaces similar to the Django
admin's ``list_filter`` interface.  It has an API very similar to Django's
``ModelForms``.  For example, if you had a Product model you could have a
filterset for it with the code::

    import django_filters

    class ProductFilter(django_filters.FilterSet):
        class Meta:
            model = Product
            fields = ['name', 'price', 'manufacturer']


And then in your view you could do::

    def product_list(request):
        filter = ProductFilter(request.GET, queryset=Product.objects.all())
        return render(request, 'my_app/template.html', {'filter': filter})

Django-filters additionally supports specifying FilterSet fields using a
dictionary to specify filters with lookup types::

    import django_filters

    class ProductFilter(django_filters.FilterSet):
        class Meta:
            model = Product
            fields = {'name': ['exact', 'icontains'],
                      'price': ['exact', 'gte', 'lte'],
                     }

The filters will be available as 'name', 'name__icontains', 'price',
'price__gte', and 'price__lte' in the above example.

Support
-------

If you have questions about usage or development you can join the
`mailing list`_.

.. _`read the docs`: https://django-filter.readthedocs.org/en/latest/
.. _`mailing list`: http://groups.google.com/group/django-filter