--- id: django-filter version: "26.1" license: unclear license_treatment: permissive maintenance: active --- # django-filter — Django-filter is a reusable Django application for allowing users to filter querysets dynamically. License: permissive · Maintenance: active · Downloads: 17.3M/mo ## What it is and what it does Django-filter is a mature, production-stable Django application that lets you build dynamic filtering interfaces by declaring which model fields should be filterable, then automatically generates query filters from URL parameters. It mirrors Django's ModelForms API, making it familiar to Django developers. The package handles the common pattern of turning GET parameters into QuerySet filters without requiring you to write custom filter logic for each view. It integrates with both traditional Django views and Django REST Framework, offering a dedicated FilterSet and filter backend for REST APIs. The package supports current Python versions (3.10 through 3.14) and recent Django releases, with an explicit commitment to supporting all current Django versions and matching Python versions. It has no known vulnerabilities and receives regular maintenance. Use it for: - Build admin-style filterable list pages where users select criteria from URL parameters to narrow results. - Add filtering to Django REST Framework API endpoints without writing custom filter backends. - Quickly prototype search and filter interfaces for model-based data without hand-coding QuerySet logic. - Implement multi-field filtering by category, price range, or status in a single FilterSet declaration. - Migrate filtering logic from custom views to a reusable FilterSet that works across multiple endpoints. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Django-filter adds dynamic QuerySet filtering to Django views and REST Framework APIs, letting you declaratively build filterable interfaces from URL parameters without writing custom filter logic. Yes. Django-filter is a stable, well-maintained package in the top 5000 PyPI downloads with zero known vulnerabilities, low install friction, and permissive licensing. It solves a common Django pattern (dynamic filtering from URL parameters) with a proven API. Install it if you need to add filtering to Django views or REST APIs without writing custom filter code. ## Install pip install django-filter uv add django-filter poetry add django-filter ## Installing django-filter Before you install: Low friction: pure Python wheel, single runtime dependency (Django), and actively maintained with releases within the last month. Supports current Python versions (3.10–3.14) and recent Django versions (5.2, 6.0, 6.1). License in practice: Permissive BSD license; no restrictions on commercial or proprietary use. Quickstart: pip install django-filter # In settings.py INSTALLED_APPS = [ 'django_filters', ] # In your view filter = ProductFilter(request.GET, queryset=Product.objects.all()) Verify before relying: - Whether the package maintains backward compatibility across minor version updates as claimed in its 'Year plus two' deprecation policy. - Performance characteristics when filtering large querysets or with complex filter definitions. - Exact API surface and available filter field types beyond the basic example in the description. ## Package facts - License: not declared (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 17.3M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags django queryset filtering, dynamic url parameter filters, django admin-style list filters, rest framework filter backend, django model filtering, declarative query filters, django filterset, django-ecosystem, query-filtering, rest-framework [View on SkillFed](https://skillfed.io/packages/django-filter) · [View on PyPI](https://pypi.org/project/django-filter/)