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

1from django_filters.filterset import filterset_factory 

2from django_filters.rest_framework import DjangoFilterBackend 

3 

4from .filtersets import GenericFilterSet 

5from .helpers import first_member_match, module_paths 

6 

7 

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)