Source code for apis_core.generic.filterbackends

from django_filters.filterset import filterset_factory
from django_filters.rest_framework import DjangoFilterBackend

from .filtersets import GenericFilterSet
from .helpers import first_member_match, module_paths


[docs] class GenericFilterBackend(DjangoFilterBackend):
[docs] def get_filterset_class(self, view, queryset=None): filterset_api_class_modules = module_paths( view.model, path="filtersets", suffix="ApiFilterSet" ) filterset_class_modules = module_paths( view.model, path="filtersets", suffix="FilterSet" ) filterset_class = first_member_match( filterset_api_class_modules + filterset_class_modules, GenericFilterSet ) return filterset_factory(view.model, filterset_class)