Coverage for apis_core/generic/filterbackends.py: 56%

9 statements  

« prev     ^ index     » next       coverage.py v7.6.1, created at 2024-09-16 07:42 +0000

1from django_filters.rest_framework import DjangoFilterBackend 

2 

3from .filtersets import GenericFilterSet, filterset_factory 

4from .helpers import first_member_match, module_paths 

5 

6 

7class GenericFilterBackend(DjangoFilterBackend): 

8 def get_filterset_class(self, view, queryset=None): 

9 filterset_api_class_modules = module_paths( 

10 view.model, path="filtersets", suffix="ApiFilterSet" 

11 ) 

12 filterset_class_modules = module_paths( 

13 view.model, path="filtersets", suffix="FilterSet" 

14 ) 

15 filterset_class = first_member_match( 

16 filterset_api_class_modules + filterset_class_modules, GenericFilterSet 

17 ) 

18 return filterset_factory(view.model, filterset_class)