Теперь в моем классе CoincostFilterSet установлена начальная дата для фильтра результатов. И как установить дату окончания в моем коде?
Теперь у меня есть этот URL
http://example.com/api/v1/CoinCost/?symbol=MNST×tamp=2020-04-20T09:17:34
, но мне нужно
http://example.com/api/v1/CoinCost/?symbol=MNST×tamp=2020-04-20T09:17:34×tamp=2020-04-23T05:17:34
Чтобы получить результаты с 20 апреля по 23.
filters.py
class DateTimeGteFilter(filters.IsoDateTimeFilter):
def filter(self, qs, value):
if value != None:
return qs.prefetch_related(Prefetch('coincosts_set', to_attr='filtered_coincosts', queryset=CoinCosts.objects.filter(timestamp__gte=value)
)
)
else:
return qs
views.py
class CoinCostFilterSet(filters.FilterSet):
timestamp = DateTimeGteFilter()
class Meta:
model = Coins
fields = {
'symbol': ['exact'],
}
serializers.py
class CoinSerializer(serializers.ModelSerializer):
class Meta:
fields = ('symbol', 'crr', 'costs')
model = Coins
costs = CoinCostsSerializer(source='filtered_coincosts', many=True)
Справка. Спасибо!