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中传递多个键值对作为查询参数?_Python_Django_Django Rest Framework - Fatal编程技术网

如何在Python Django中传递多个键值对作为查询参数?

如何在Python Django中传递多个键值对作为查询参数?,python,django,django-rest-framework,Python,Django,Django Rest Framework,我正在构建一个键值存储RESTAPI,它将数据存储在键值对中。假设我想创建一个端点,在这里我可以向values/发出GET请求,通过传递一个或多个键来获取一个或多个值,如下所示: /values?keys=key1,key2,key3 我想知道如果我想做这个可变长度查询,我应该在url.py中做什么 这是我的模型: class Data(models.Model): key = models.CharField(max_length = 100) value = models.

我正在构建一个键值存储RESTAPI,它将数据存储在键值对中。假设我想创建一个端点,在这里我可以向
values/
发出GET请求,通过传递一个或多个键来获取一个或多个值,如下所示:

/values?keys=key1,key2,key3
我想知道如果我想做这个可变长度查询,我应该在
url.py中做什么

这是我的模型:

class Data(models.Model):
    key = models.CharField(max_length = 100)
    value = models.CharField(max_length = 1000)

    def __str__(self):
        return '{}:{}'.format(self.key, self.value)

您不需要在
url.py中执行任何操作。您只需在
view.py
中获取查询参数(在您的情况下是keys),您可以按如下方式执行此操作:

def your_view(request):
    keys = request.query_params.get('keys')

您不需要在
url.py中执行任何操作。您只需在
view.py
中获取查询参数(在您的情况下是keys),您可以按如下方式执行此操作:

def your_view(request):
    keys = request.query_params.get('keys')

您不需要在URL中对查询字符串执行任何操作。。。。您只需访问
请求。获取
谢谢,简单的事情有时更难理解,您不需要在URL中对查询字符串执行任何操作。。。。您只需访问
请求。获取
谢谢,简单的事情有时更难理解谢谢,它很好用。顺便说一下,我使用了request.GET.getlist()谢谢,它工作得很好。顺便说一下,我使用了request.GET.getlist()