📡 You're offline — showing cached content
New version available!
Quick Access
Tutorials Django Framework DRF Filters

DRF Filters

5 min read
Add filtering, search, and ordering to DRF ViewSets with django-filter and SearchFilter.

Filtering in DRF

pip install django-filter

class PostFilter(django_filters.FilterSet):
    title    = django_filters.CharFilter(lookup_expr="icontains")
    min_date = django_filters.DateFilter(field_name="created_at", lookup_expr="gte")

    class Meta:
        model  = Post
        fields = ["is_draft", "author"]

class PostViewSet(viewsets.ModelViewSet):
    filterset_class = PostFilter
    search_fields   = ["title", "body"]   # ?search=keyword
    ordering_fields = ["created_at"]      # ?ordering=-created_at