27 lines
587 B
Python
27 lines
587 B
Python
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 = {
|
|
}
|
|
|