Skip to main content

Django-filter is a reusable Django application allowing users to declaratively add dynamic QuerySet filtering from URL parameters.

Full documentation on read the docs.

https://travis-ci.org/carltongibson/django-filter.svg?branch=master https://codecov.io/gh/carltongibson/django-filter/branch/develop/graph/badge.svg https://badge.fury.io/py/django-filter.svg

Requirements

  • Python: 2.7, 3.6

  • Django: 1.11

  • DRF: 3.7, 3.8

Django filter EX is a fork from Django filter 1.1.0 witch contains a small patch to improve performance of the default filterset on chained filters. It passes all the tests and works for my use-case.

Installation

Install using pip:

pip install django-filter

Then add 'django_filters' to your INSTALLED_APPS.

INSTALLED_APPS = [
    ...
    'django_filters',
]

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})

Usage with Django REST Framework

Django-filter provides a custom FilterSet and filter backend for use with Django REST Framework.

To use this adjust your import to use django_filters.rest_framework.FilterSet.

from django_filters import rest_framework as filters

class ProductFilter(filters.FilterSet):
    class Meta:
        model = Product
        fields = ('category', 'in_stock')

For more details see the DRF integration docs.

Support

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

Metadata

Release files for django-filter-ex 1.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-filter-ex 1.2.0
File Size Uploaded
django-filter-ex-1.2.0.tar.gz 110.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for django-filter-ex 1.2.0
File Interpreter ABI Platform
django_filter_ex-1.2.0-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 154.8 kB

Release files / django-filter-ex-1.2.0.tar.gz

Download URL django-filter-ex-1.2.0.tar.gz
Size 110.9 kB
Tags Source
SHA-256 checksum
How to use checksums
6e609ec5ac145f2ed6687921840cb65c34d1016e7adf5d2c7e17ec758d50cff6
BLAKE2b-256 checksum
How to use checksums
7cd152a84272736a209a28a6aade7ab76a2d67ef396d782500ee062f78ec11aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.2 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/2.7.15rc1

Release files / django_filter_ex-1.2.0-py2.py3-none-any.whl

Download URL django_filter_ex-1.2.0-py2.py3-none-any.whl
Size 44.0 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
0600025783c4ae0d2d40d641253527378c09a54627bb839a5684d05fbe44222d
BLAKE2b-256 checksum
How to use checksums
a2a7fed89619ba3f6fc040d83286eff4c998fad3d963f2e2a1e335c82b4090fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.2 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/2.7.15rc1

Release history Release notifications | RSS feed

This release

1.2.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page