【问题标题】:request.POST.get('category_id') gives single valuerequest.POST.get('category_id') 给出单个值
【发布时间】:2016-06-19 08:24:56
【问题描述】:

我有一个发布请求,该请求给出以下值:

request.POST
<QueryDict: {u'csrfmiddlewaretoken': [u'AbyDcwOtSyPwuC1JxeVUKJFk33XhH2us'], u'category_id': [u'15', u'26', u'7', u'8']}>

我想要一个列表中 category_id 中的所有值。但是,如果我尝试使用 request.POST.get('category_id') 访问值,它只会给我最后一个值 [u'8'] 而不是孔列表。

我的方法错了吗?如果我是那么正确的方法是什么?

【问题讨论】:

    标签: python django


    【解决方案1】:

    【讨论】:

      【解决方案2】:

      是的,您需要.get() 更改为.getlist() 以获取所有值。

      request.POST.getlist('category_id') 
      

      .get()QueryDict 操作:

      如果 key 有多个值,则对 Django 的 QueryDict 对象的.get() 操作返回最后一个值。

      QueryDict.__getitem__(key)
      返回给定键的值。如果 键有多个值,__getitem__() 返回最后一个值

      .getlist()QueryDict 操作:

      如果需要获取特定键的所有值,则需要使用.getlist().

      QueryDict.getlist(key, default=None)
      返回数据与 请求的键,作为 Python 列表。如果键返回一个空列表 不存在,也没有提供默认值。保证 返回某种列表,除非提供的默认值不是 列表。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-26
        • 2020-02-14
        • 1970-01-01
        • 1970-01-01
        • 2018-03-07
        • 2020-08-09
        相关资源
        最近更新 更多