我有一个帖子请求,请求提供以下值:
request.POST
<QueryDict: {u'csrfmiddlewaretoken': [u'AbyDcwOtSyPwuC1JxeVUKJFk33XhH2us'], u'category_id': [u'15', u'26', u'7', u'8']}>
我希望list_id中的所有值都在列表中。但是如果我尝试使用 request.POST.get('category_id')来访问值,它只给出了最后一个值[u'8']而不是孔列表。
我的方法有误吗?如果我是,那么正确的方法是什么?
答案 0 :(得分:1)
使用request.POST.getlist('category_id')
https://docs.djangoproject.com/en/1.9/ref/request-response/#django.http.QueryDict.getlist
答案 1 :(得分:0)
是的,您需要将.get()
更改为.getlist()
才能获得所有值。
request.POST.getlist('category_id')
.get()
QueryDict操作:
QueryDict
对象的 .get()
操作返回key
的最后一个值,如果它有多个值。
QueryDict.__getitem__(key)
返回给定键的值。如果 密钥有多个值,__getitem__()
会返回最后一个值。
.getlist()
QueryDict操作:
如果您需要获取特定密钥的所有值,则需要使用.getlist()
.
QueryDict.getlist(key, default=None)
返回带有的数据 请求密钥,作为Python列表。如果键,则返回一个空列表 不存在,并且未提供默认值。它保证 除非提供的默认值不是a,否则返回某种列表 列表。