Добрый вечер, коллеги! У меня есть следующий код:
serializators.py
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='coincosts_set.all', many=True)
views.py
class CoinCostFilterSet(filters.FilterSet):
class Meta:
model = Coins
fields = {
'symbol': ['exact'],
}
class CoinCostViewSet(viewsets.ModelViewSet):
queryset = Coins.objects.all()
serializer_class = CoinSerializer
filter_backends = (filters.DjangoFilterBackend,)
filterset_class = CoinCostFilterSet
models.py
class Coins(models.Model):
name = models.CharField(max_length=150)
symbol = models.CharField(max_length=45)
crr = models.CharField(max_length=3)
class CoinCosts(models.Model):
coin_id = models.ForeignKey(Coins, on_delete=models.CASCADE)
crr = models.CharField(max_length=3)
volume = models.DecimalField(max_digits=19, decimal_places=4)
reserve = models.DecimalField(max_digits=19, decimal_places=4)
price = models.DecimalField(max_digits=19, decimal_places=4)
timestamp = models.DateTimeField(auto_now_add=True, blank=True)
И по например, набрав адрес
/CoinCost/?symbol=ZERO
, у меня есть фильтрация от Django на этой монете.
Поэтому мне нужен этот URL:
/CoinCost/?symbol=ZERO×tamp_start=2019-12-14T00:00:00×tamp_end=2019-12-17T00:00:00
- получить фильтрацию не только по нулевой монете, но и по отметке времени. Вы можете помочь? Как должен выглядеть мой код для этой задачи? Как фильтровать по встроенному сериализатору?
Я вижу это Отфильтрованные вложенные отношения Django Rest Framework , но> нет работы, у меня есть 2 вложенных поля в сериализаторе - отметка времени и стоимость
Спасибо за помощь! Хороших выходных!