2
什麼是自動將過濾器[X] ...鍵/值的字典轉換爲(嵌套)字典列表的最簡單方法。將字典自動轉換成字典列表
{'filter[0][data][type]': u'string',
'filter[0][data][value]': u'T',
'filter[0][field]': u'company',
'filter[1][data][comparison]': u'lt',
'filter[1][data][type]': u'numeric',
'filter[1][data][value]': u'100',
'filter[1][field]': u'price',
'filter[2][data][comparison]': u'gt',
'filter[2][data][type]': u'numeric',
'filter[2][data][value]': u'10',
'filter[2][field]': u'price',
'limit': u'10',
'page': u'1',
'sort': u'[{"property":"company","direction":"ASC"}]',
'start': u'0'}
我想會是什麼樣的結果:
[
{'data': {'type': 'string', 'value': 'T'}, 'field': 'company'},
{'data': {'comparison': 'lt', 'type': 'numeric', 'value': 100},
'field': 'price'},
{'data': {'comparison': 'gt', 'type': 'numeric', 'value': 10},
'field': 'price'}
]
初始dictonary是從主塔從一個ExtJS網格過濾器插件GET請求
傳遞也有在ExtJS的電網濾波器選項有過濾器json編碼,所以我最終與:
{ 'filter': u'[{"type":"string","value":"T","field":"company"},{"type":"numeric","comparison":"lt","value":100,"field":"price"},{"type":"numeric","comparison":"gt","value":10,"field":"price"}]',
'limit': u'10',
'page': u'1',
'sort': u'[{"property":"company","direction":"ASC"}]',
'start': u'0'}
但我再次沒有想法如何將此自動轉換爲python列表和字典。
我不知道查詢過濾器的數量,所以用創建的字典列表我可以遍歷列表並自動生成一個SQL查詢。 (雖然也許有更好的方法來做到這一點?)
對不起,但我覺得很難弄清楚你在這裏問什麼。如果您包含一些代碼以顯示您嘗試過的內容,它會有所幫助,這會讓我們更容易幫助您。也許你也可以看一下http://whathaveyoutried.com關於如何提出好問題的偉大文章? – 2013-03-09 11:54:31
我認爲這顯然是我想達到的目標,但是看到拳頭的答案並非如此,所以我更新了這個問題,並希望現在更好。 – Flo 2013-03-09 19:10:18
請以Python格式包含最初的字典。你可以使用'pprint'模塊來創建一個很好格式化的例子('import pprint; pprint.pprint(filter)')。 – 2013-03-09 19:15:22