Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在django rest框架中访问通用API视图(更具体地说是ListCreateAPIView)中的url kwargs?_Python_Django_Django Rest Framework - Fatal编程技术网

Python 如何在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

如何在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_queryset(self):
    queryset = Model.objects.filter(parameter=self.kwargs['thing'])
    return queryset

来自leelum1aman 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