【问题标题】:it's possible to Convert, QueryDict list values to normal values, but keeping original type as a QueryDict?可以将 QueryDict 列表值转换为正常值,但将原始类型保留为 QueryDict?
【发布时间】:2021-06-06 15:56:08
【问题描述】:

我有一个这样的 QueryDict:

<QueryDict: {u'firstValue': ['abc'], u'secondValue': [[]}>

这个有可能吗?

<QueryDict: {u'firstValue': 'abc', u'secondValue': []}>

我检查了类似的答案:Convert QueryDict to key-value pair dictionary,但原来的类型改变了。我也试过这个:

import json
QueryDict(json.dumps(myQueryDict),mutable=True).copy()

但是,我得到了:

<QueryDict: {u'{"firstValue": "1285", "secondValue": []}': [u'']}>

我找不到保留原始类型的先前问题。感谢您的帮助

【问题讨论】:

  • myQueryDict["firstValue"] 只会给你'abc'。问题是什么?这就是查询字典的表示方式,因为参数名称可以重复。
  • @AbdulAzizBarkat myQueryDict 接收它的值,如下所示:myQueryDict = QueryDict('').copy() 然后myQueryDict.update(anotherQueryDict),因此将 [] 添加到所有值。该代码将 myQueryDict 发送到一个方法,该方法期望 i.g secondValue 作为 [] 但接收 [[]] 并且我不能更新该方法

标签: python django python-2.7


【解决方案1】:

说“值”变量是 QueryDict

values = {u'firstValue': ['abc'], u'secondValue': [[]]}
values_formated = {
    'firstValue': values['firstValue'][0],
    'secondValue': values['secondValue'][0]
    }

基本上你得到的是列表的一个元素而不是整个列表。

【讨论】:

  • values_formated 是一个字典,所以会把原来的类型改成字典,我需要保留 QueryDict
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-04-05
  • 1970-01-01
  • 1970-01-01
  • 2016-12-25
  • 2013-10-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多