为什么QueryDict在检查对象时返回一个列表?

时间:2013-05-30 08:18:40

标签: python django

我正在使用**运算符

我有这个功能

def splitData(data, operation, n=0, m=0):
    ..
    log.debug("data: %s",data)
    ...

我从API(django-rest-framework)视图中调用它,该视图从POST

获取数据

所以我做的就是这个

log.debug("data from get %s",request.DATA.get('data','[]'))

res = splitData(**request.DATA)

结果是正确的

data from get [{'id':1,'a1':1},{'id':2,'a1':2}]

虽然splitData函数内部的调试输出是

data: [u"[{'id':1,'a1':1},{'id':2,'a1':2}]"]

为什么从data获取的**request.DATA是一个列表?

1 个答案:

答案 0 :(得分:3)

(没有request.DATA这样的东西 - 大概是指request.REQUEST。请在将来发布实际代码。)

这与kwargs无关。

这是因为请求数据是QueryDict对象,它是自定义的,允许每个键有多个值。