from django.utils.translation import gettext_lazy as _ import django_filters as filters from .models import Page, Episode class PageFilters(filters.FilterSet): q = filters.CharFilter(method='search_filter', label=_('Search')) class Meta: model = Page fields = { 'category__id': ['in'], 'pub_date': ['exact', 'gte', 'lte'], } def search_filter(self, queryset, name, value): return queryset.search(value) class EpisodeFilters(PageFilters): class Meta: model = Episode fields = { }