diff --git a/poizonstore/utils.py b/poizonstore/utils.py index 209ac2b..ef71881 100644 --- a/poizonstore/utils.py +++ b/poizonstore/utils.py @@ -1,5 +1,6 @@ from functools import reduce +from django_filters import DateFromToRangeFilter as _DateFromToRangeFilter from rest_framework.fields import DecimalField @@ -11,3 +12,11 @@ class PriceField(DecimalField): def deep_get(dictionary, *keys, default=None): """Get value from a nested dictionary (JSON)""" return reduce(lambda d, key: d.get(key, None) if isinstance(d, dict) else default, keys, dictionary) + + +class DateFromToRangeFilter(_DateFromToRangeFilter): + """ DateFromToRangeFilter with replaced after/before suffixes to from/to """ + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.field.widget.suffixes = ['from', 'to'] diff --git a/store/filters.py b/store/filters.py index a518126..bc8734e 100644 --- a/store/filters.py +++ b/store/filters.py @@ -1,5 +1,6 @@ from django_filters import rest_framework as filters +from poizonstore.utils import DateFromToRangeFilter from .models import Checklist, Gift @@ -18,8 +19,8 @@ class ChecklistFilter(filters.FilterSet): status = filters.MultipleChoiceFilter(choices=Checklist.Status.CHOICES) delivery_code = filters.CharFilter(method='filter_delivery_code') - created_at = filters.DateFromToRangeFilter() - status_updated_at = filters.DateFromToRangeFilter() + created_at = DateFromToRangeFilter() + status_updated_at = DateFromToRangeFilter() class Meta: model = Checklist