Как получить доступ к URL-адресам в общих представлениях API (точнее, ListCreateAPIView) в django rest framework? - PullRequest
0 голосов
/ 26 июня 2018

Как получить доступ к url ​​kwargs в общих представлениях API (точнее, ListCreateAPIView) в структуре отдыха django, скажем, я хочу переопределить метод get_queryset() внутри общего класса APIView, и я хочу, чтобы он использовал значения, извлеченные из url kwargs, как мне это сделать?

Ответы [ 3 ]

0 голосов
/ 26 июня 2018

Если вы хотите использовать метод get_queryset (), вы можете сделать что-то вроде этого

def get_queryset(self):
    queryset = Model.objects.filter(parameter=self.kwargs['thing'])
    return queryset
0 голосов
/ 26 марта 2019

Ответы от leelum1 и aman kumar мне очень помогли, так как у меня был тот же вопрос. Я бы добавил конкретный пример того, как я использовал их ответы. В приведенном ниже коде я пытаюсь получить все продукты, которые имеют атрибут category, такую ​​же строку, переданную переменной cat из URL.

class ListProductsView(generics.ListCreateAPIView):
    serializer_class = ProductSerializer
    def get_queryset(self):
        queryset = Product.objects.filter(category=self.kwargs['cat'])
        return queryset

Это решило мою проблему фильтрации объектов с помощью переменных из URL.

0 голосов
/ 26 июня 2018

Вы можете получить доступ ниже как

def get_queryset(self):
     data = self.kwargs.get("key-name")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...