import django_filters class FilterMixin(object): filterset_class:django_filters.FilterSet def get_filterset_class(self): return self.filterset_class def get_context_data(self, *, object_list=None, **kwargs): context_data = super().get_context_data(**kwargs) filter = self.get_filterset_class()(self.request.GET, queryset=self.get_queryset()) context_data['filter'] = filter return context_data def get_queryset(self): qs = super().get_queryset() qs = self.get_filterset_class()(self.request.GET, queryset=qs).qs return qs