如何获取查询集django中所有数据的特定列表?

时间:2017-10-10 16:13:32

标签: python django django-queryset

服务器上的

发送此数据:

Object { categoryes: Array[2], brands: Array[2], discount_list: "all", category_slug: "accessories", category_of_relationsheep: "m" }

如果我在服务器端打印request.POST,我得到了这个:

<QueryDict: {'categoryes[]': ['Accessories', 'Bands'], 'brands[]': ['Nike', 'HBO'], 'discount_list': ['all'], 'csrfmiddlewaretoken': ['S7MXVEdQLd6u0fr4FugEwlupa45oChmw3TeItB4BEUHUHSsxrmVRuAcAhFxYQfpk'], 'category_slug': ['accessories'], 'category_of_relationsheep': ['m']}>

hot我可以获得一个列表例如&#34; categoryes []&#34; (但是为什么它用括号这样称呼?)

好的,如果我这样做: print(request.POST.get(&#34; categoryes []&#34;))它将给出唯一的最后一个对象,

如何获得完整列表?特别喜欢cotegoryes?如果像

那样
for keys, values in request.POST.items():
    print(values)

它打印了我在这个词典中的所有价值观,但我不知道这个价值观在哪里?如果我这样做:

for keys, values in request.POST.items():
        if 'categoryes[]' == keys:
            print(values)

它只提供与类别相关的一个对象,但在此列表中有多个对象

2 个答案:

答案 0 :(得分:4)

尝试使用getlist

request.POST.getlist('categoryes[]')

答案 1 :(得分:1)

访问request.GETrequest.POST时,您没有获得常规字典,而是获得了QueryDict个对象。作为字典访问时,它返回键的最后一个值。如果您想要完整列表,请使用getlist方法,例如:

request.POST.getlist("somekey")
  

返回包含所请求密钥的数据列表。