Я пытаюсь создать собственное представление списка для моего API отдыха Django. Этот список должен содержать все статьи (родительские) с самой последней ценой (дочерний). Мои модели Django выглядят так:
class Article(models.Model):
id = models.AutoField(primary_key=True, verbose_name="Article ID")
name = models.CharField(max_length=250, verbose_name="Name")
class Price(models.Model):
article = models.ForeignKey(Article, on_delete=models.CASCADE, verbose_name="Article", related_name="prices")
price = models.DecimalField(max_digits=6, decimal_places=2, verbose_name="Price")
Со следующими сериализаторами:
class PriceSerializer(serializers.ModelSerializer):
class Meta:
model = Price
fields = '__all__'
class ArticleSerializer(serializers.ModelSerializer):
prices = PriceSerializer(many=True)
class Meta:
model = Article
fields = '__all__'
Теперь я хотел бы сделать @list_route()
для доступа к списку через запрос GET
:
class ArticleViewSet(viewsets.ModelViewSet):
queryset = Article.objects.all().order_by('id')
serializer_class = ArticleSerializer
@list_route(methods=['GET'])
def recentprices(self, request, *args, **kwargs):
?...?
class PriceViewSet(viewsets.ModelViewSet):
queryset = Price.objects.all()
serializer_class = PriceSerializer
Может ли кто-нибудь помочь мне, пытаясь заполнить точки?