Python 如何在django rest框架中访问通用API视图(更具体地说是ListCreateAPIView)中的url kwargs?
如何在django rest框架中访问通用API视图(更具体地说是ListCreateAPIView)中的url kwargs,Python 如何在django rest框架中访问通用API视图(更具体地说是ListCreateAPIView)中的url kwargs?,python,django,django-rest-framework,Python,Django,Django Rest Framework,如何在django rest框架中访问通用API视图(更具体地说是ListCreateAPIView)中的url kwargs, 例如,如果我想覆盖泛型APIView类中的get\u queryset()方法,并且我想让它使用从url kwargs提取的值,我该如何做 您可以访问下面的 def get_queryset(self): data = self.kwargs.get("key-name") 如果要使用get_queryset()方法,可以执行以下操作 def get_qu
例如,如果我想覆盖泛型APIView类中的
get\u queryset()
方法,并且我想让它使用从url kwargs提取的值,我该如何做 您可以访问下面的
def get_queryset(self):
data = self.kwargs.get("key-name")
如果要使用get_queryset()方法,可以执行以下操作
def get_queryset(self):
queryset = Model.objects.filter(parameter=self.kwargs['thing'])
return queryset
来自leelum1和aman kumar的回答对我帮助很大,因为我有同样的问题。我想补充一个我如何使用他们答案的特别例子。在下面的代码中,我尝试获取所有具有as
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中的变量过滤对象的问题
class ListProductsView(generics.ListCreateAPIView):
serializer_class = ProductSerializer
def get_queryset(self):
queryset = Product.objects.filter(category=self.kwargs['cat'])
return queryset