Как правильно использовать набор запросов в GenericAPIView в Django DRF? - PullRequest
0 голосов
/ 25 апреля 2018

Я начал использовать GenericAPIView вместо APIView, и я не понимаю, как использовать queryset и serializer_class, определяемые в начале класса.Я понимаю, что они должны быть определены, но теперь у меня есть запрос наверху моего класса и еще один запрос в GET.Мой вопрос заключается в том, могу ли я использовать набор запросов внутри моего метода GET, чтобы я не делал 2 ненужных запроса.

class demo(GenericAPIView):
    queryset = Demo.objects.all()
    serializer_class = DemoSerializer
    def get(self, request, num, format=None):
        query = Demo.objects.filter(name=test, number=num)

Другими словами, queryset = Demo.objects.all () определен, потому что он необходим, но я его не использую, поэтому кажется, что это дополнительный запрос ...

1 Ответ

0 голосов
/ 25 апреля 2018

queryset требуется только в том случае, если вы не определили метод get_queryset.В вашем случае вместо определения дополнительного набора запросов в get, просто внедрите get_queryset.Если вы используете kwargs url, вы можете получить его внутри этого метода с атрибутом self.kwargs:

class demo(GenericAPIView):
    serializer_class = DemoSerializer

    def get_queryset(self):
        return Demo.objects.filter(name=test, number=self.kwargs['num'])
...