Coverage for /var/srv/projects/api.amasfac.comuna18.com/tmp/venv/lib/python3.9/site-packages/django_filters/rest_framework/filterset.py: 67%
23 statements
« prev ^ index » next coverage.py v6.4.4, created at 2023-07-17 14:22 -0600
« prev ^ index » next coverage.py v6.4.4, created at 2023-07-17 14:22 -0600
1from copy import deepcopy
3from django.db import models
4from django.utils.translation import gettext_lazy as _
6from django_filters import filterset
8from .. import compat
9from .filters import BooleanFilter, IsoDateTimeFilter
11FILTER_FOR_DBFIELD_DEFAULTS = deepcopy(filterset.FILTER_FOR_DBFIELD_DEFAULTS)
12FILTER_FOR_DBFIELD_DEFAULTS.update(
13 {
14 models.DateTimeField: {"filter_class": IsoDateTimeFilter},
15 models.BooleanField: {"filter_class": BooleanFilter},
16 models.NullBooleanField: {"filter_class": BooleanFilter},
17 }
18)
21class FilterSet(filterset.FilterSet):
22 FILTER_DEFAULTS = FILTER_FOR_DBFIELD_DEFAULTS
24 @property
25 def form(self):
26 form = super().form
28 if compat.is_crispy(): 28 ↛ 29line 28 didn't jump to line 29, because the condition on line 28 was never true
29 from crispy_forms.helper import FormHelper
30 from crispy_forms.layout import Layout, Submit
32 layout_components = list(form.fields.keys()) + [
33 Submit("", _("Submit"), css_class="btn-default"),
34 ]
35 helper = FormHelper()
36 helper.form_method = "GET"
37 helper.template_pack = "bootstrap3"
38 helper.layout = Layout(*layout_components)
40 form.helper = helper
42 return form