@Pythonist

Django Rest Filterset — как фильтровать вложенный сериализатор по start и end date?

Здравствуйте, есть такой код фильтра ,который фильтрует вложенный сериализатор по начальной дате. Но как туда вклинить конечную дату? Делал многое по докам, не помогло. Спасибо

Код
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


serializers

class CoinCostsSerializer(serializers.ModelSerializer):

    class Meta:
        fields = ('price', 'timestamp')
        model = CoinCosts
        
class CoinSerializer(serializers.ModelSerializer):
    class Meta:
        fields = ('symbol', 'crr', 'costs')
        model = Coins
    costs = CoinCostsSerializer(source='filtered_coincosts', many=True)


views

class CoinCostFilterSet(filters.FilterSet):
    timestamp = DateTimeGteFilter()

    class Meta:
        model = Coins
        fields = {
            'symbol': ['exact'],
        }
  • Вопрос задан
  • 266 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы