Задать вопрос
@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'],
        }
  • Вопрос задан
  • 284 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Django: создание backend-приложений
    7 недель
    Далее
  • Skillbox
    Python-фреймворк Django
    3 месяца
    Далее
  • ProductStar
    Python и Django: бэкенд-разработка
    2 месяца
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы