Coverage for apis_core/generic/filterbackends.py: 60%
10 statements
« prev ^ index » next coverage.py v7.5.3, created at 2025-06-25 10:00 +0000
« prev ^ index » next coverage.py v7.5.3, created at 2025-06-25 10:00 +0000
1from django_filters.filterset import filterset_factory
2from django_filters.rest_framework import DjangoFilterBackend
4from .filtersets import GenericFilterSet
5from .helpers import first_member_match, module_paths
8class GenericFilterBackend(DjangoFilterBackend):
9 def get_filterset_class(self, view, queryset=None):
10 filterset_api_class_modules = module_paths(
11 view.model, path="filtersets", suffix="ApiFilterSet"
12 )
13 filterset_class_modules = module_paths(
14 view.model, path="filtersets", suffix="FilterSet"
15 )
16 filterset_class = first_member_match(
17 filterset_api_class_modules + filterset_class_modules, GenericFilterSet
18 )
19 return filterset_factory(view.model, filterset_class)