QueryDict在Django中返回奇怪的值

时间:2018-04-26 13:44:50

标签: python django-rest-framework

我刚刚开始研究我的第一个大型Django项目,我目前正在使用几个API进行编程,并且使用Python'requests'库向下面的视图发出请求:

@api_view(['GET', 'POST'])
def s0003_view(request):
    p = request.POST
    print(p)
    obj = p.get('jsonobj')
    print(obj)

QueryDict对象位于'p'如下:

<QueryDict: {'jsonobj': ['register_id', 'meter_id', 'id', 'reading_date', 'reading_value', 'meter_point_number', 'pattern', 'reading_method']}>

然而,一旦我使用p.get()访问'jsonobj'并打印其内容,它只返回列表中的最后一项:

reading_method 

为什么会这样? 我真的很难过,所以任何帮助都会非常感激!

1 个答案:

答案 0 :(得分:1)

根据Django的官方文档,在QueryDict对象中,有两种获取值的方法:get(key)__getitem__(key)。 当您调用其中一个方法来获取键的值时,如果该键包含多个值,则将返回最后一个值。

查看文档以获取更多信息https://docs.djangoproject.com/en/2.0/ref/request-response/#django.http.QueryDict