Coverage for apis_core/generic/filtersets.py: 64%

11 statements  

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

1from django_filters.constants import ALL_FIELDS 

2from django_filters.filterset import FilterSet 

3 

4from .forms import GenericFilterSetForm 

5 

6 

7class GenericFilterSet(FilterSet): 

8 """ 

9 Our GenericFilterSet sets the default `form` to be our 

10 GenericFilterSetForm, which is set up to ignore the `columns` field 

11 of the form. 

12 """ 

13 

14 class Meta: 

15 form = GenericFilterSetForm 

16 

17 

18# This is a backport from https://github.com/carltongibson/django-filter/pull/1636 

19# It can be removed once that is merged and released 

20def filterset_factory(model, filterset=FilterSet, fields=ALL_FIELDS): 

21 attrs = {"model": model, "fields": fields} 

22 bases = (filterset.Meta,) if hasattr(filterset, "Meta") else () 

23 Meta = type("Meta", bases, attrs) 

24 return type(filterset)( 

25 str("%sFilterSet" % model._meta.object_name), (filterset,), {"Meta": Meta} 

26 )