+ DateFromToRangeFilter with _from / _to suffixes
This commit is contained in:
parent
e5f56c10d0
commit
d88eeb790a
|
|
@ -1,5 +1,6 @@
|
||||||
from functools import reduce
|
from functools import reduce
|
||||||
|
|
||||||
|
from django_filters import DateFromToRangeFilter as _DateFromToRangeFilter
|
||||||
from rest_framework.fields import DecimalField
|
from rest_framework.fields import DecimalField
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -11,3 +12,11 @@ class PriceField(DecimalField):
|
||||||
def deep_get(dictionary, *keys, default=None):
|
def deep_get(dictionary, *keys, default=None):
|
||||||
"""Get value from a nested dictionary (JSON)"""
|
"""Get value from a nested dictionary (JSON)"""
|
||||||
return reduce(lambda d, key: d.get(key, None) if isinstance(d, dict) else default, keys, dictionary)
|
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']
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
from django_filters import rest_framework as filters
|
from django_filters import rest_framework as filters
|
||||||
|
|
||||||
|
from poizonstore.utils import DateFromToRangeFilter
|
||||||
from .models import Checklist, Gift
|
from .models import Checklist, Gift
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -18,8 +19,8 @@ class ChecklistFilter(filters.FilterSet):
|
||||||
status = filters.MultipleChoiceFilter(choices=Checklist.Status.CHOICES)
|
status = filters.MultipleChoiceFilter(choices=Checklist.Status.CHOICES)
|
||||||
delivery_code = filters.CharFilter(method='filter_delivery_code')
|
delivery_code = filters.CharFilter(method='filter_delivery_code')
|
||||||
|
|
||||||
created_at = filters.DateFromToRangeFilter()
|
created_at = DateFromToRangeFilter()
|
||||||
status_updated_at = filters.DateFromToRangeFilter()
|
status_updated_at = DateFromToRangeFilter()
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Checklist
|
model = Checklist
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user