Skip to content
This repository

A generic system for filtering Django QuerySets based on user selections

branch: develop

Django Filter

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

Full documentation on read the docs.


  • Python 2.6+
  • Django 1.4.5+


Install using pip:

pip install django-filter

Or clone the repo and add to your PYTHONPATH:

git clone


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_to_response('my_app/template.html', {'filter': filter})


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

Something went wrong with that request. Please try again.