DRF - представление списка API - родитель с последним дочерним элементом - PullRequest
0 голосов
/ 04 января 2019

Я пытаюсь создать собственное представление списка для моего 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

Может ли кто-нибудь помочь мне, пытаясь заполнить точки?

...