Create a FilterSet for a Django Model
mainTo filter a queryset, create a class that inherits from django_filters.FilterSet. You can define filters declaratively by specifying filter types (like CharFilter or NumberFilter) as class attributes, or use the Meta class to automatically generate filters from model fields.
When defining filters manually, use these key arguments:
field_name: The name of the model field to filter on (supports Django's__relationship syntax).lookup_expr: The Django lookup expression to use (e.g.,iexact,gt,icontains).
import django_filters
from .models import Product
class ProductFilter(django_filters.FilterSet):
# Declarative syntax for specific filters
name = django_filters.CharFilter(lookup_expr='iexact')
class Meta:
model = Product
# Automatically generate filters for these fields
fields = ['price', 'release_date']