Coverage for vocabs/filters.py: 100%

10 statements  

« prev     ^ index     » next       coverage.py v7.5.3, created at 2024-06-10 15:48 +0000

1import django_filters 

2from dal import autocomplete 

3from .models import SkosConcept, SkosConceptScheme 

4 

5 

6django_filters.filters.LOOKUP_TYPES = [ 

7 ("", "---------"), 

8 ("exact", "Is equal to"), 

9 ("iexact", "Is equal to (case insensitive)"), 

10 ("not_exact", "Is not equal to"), 

11 ("lt", "Lesser than/before"), 

12 ("gt", "Greater than/after"), 

13 ("gte", "Greater than or equal to"), 

14 ("lte", "Lesser than or equal to"), 

15 ("startswith", "Starts with"), 

16 ("endswith", "Ends with"), 

17 ("contains", "Contains"), 

18 ("icontains", "Contains (case insensitive)"), 

19 ("not_contains", "Does not contain"), 

20] 

21 

22 

23class SkosConceptFilter(django_filters.FilterSet): 

24 

25 pref_label = django_filters.ModelMultipleChoiceFilter( 

26 widget=autocomplete.Select2Multiple(url="vocabs-ac:skosconcept-autocomplete"), 

27 queryset=SkosConcept.objects.all(), 

28 lookup_expr="icontains", 

29 label="PrefLabel", 

30 help_text=False, 

31 ) 

32 

33 scheme = django_filters.ModelMultipleChoiceFilter( 

34 queryset=SkosConceptScheme.objects.all(), 

35 lookup_expr="icontains", 

36 label="in SkosConceptScheme", 

37 help_text=False, 

38 ) 

39 

40 class Meta: 

41 model = SkosConcept 

42 fields = "__all__"