Coverage for vocabs/filters.py: 100%
10 statements
« prev ^ index » next coverage.py v7.5.3, created at 2024-06-10 15:48 +0000
« 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
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]
23class SkosConceptFilter(django_filters.FilterSet):
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 )
33 scheme = django_filters.ModelMultipleChoiceFilter(
34 queryset=SkosConceptScheme.objects.all(),
35 lookup_expr="icontains",
36 label="in SkosConceptScheme",
37 help_text=False,
38 )
40 class Meta:
41 model = SkosConcept
42 fields = "__all__"