如何在django rest框架中访问通用API视图中的url kwargs(更具体的ListCreateAPIView)?

问题描述 投票:0回答:3

如何在django rest框架中访问通用API视图中的url kwargs(更具体的ListCreateAPIView),例如说我想覆盖通用APIView类中的get_queryset()方法,我希望它使用从url kwargs中提取的值,如何我会这样做吗?

python django django-rest-framework
3个回答
0
投票

您可以访问以下内容

def get_queryset(self):
     data = self.kwargs.get("key-name")

0
投票

如果你想使用get_queryset()方法,你可以做这样的事情

def get_queryset(self):
    queryset = Model.objects.filter(parameter=self.kwargs['thing'])
    return queryset

0
投票

来自leelum1和aman kumar的答案对我帮助很大,因为我有同样的问题。我会添加一个如何使用他们的答案的特定示例。在下面的代码中,我尝试获取所有具有category属性的产品,这些产品是从url传递给cat变量的相同字符串。

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

这解决了我使用url中的变量过滤对象的问题。

© www.soinside.com 2019 - 2024. All rights reserved.