다음 사전의 필터 [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'}
I의 모습 원하는 결과 : 철탑이 extjs라는 그리드 필터 플러그인 GET 요청
에서 전달에서
[
{'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 격자 필터의 옵션이 있습니다 필터 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'}
다시 이 자동으로 파이썬 목록 및 dict로 변환하는 방법 아이디어.
사전에 작성된 사전 목록을 사용하여 목록을 반복하고 SQL 쿼리를 자동 생성 할 수 있으므로 쿼리 필터의 양을 미리 알지 못합니다. (어쩌면 더 좋은 방법이 있겠습니까?)
죄송합니다. 귀하가 여기서 무엇을 요구하고 있는지 파악하기가 어렵습니다. 자신이 시도한 것을 보여주기 위해 몇 가지 코드를 포함 시키면 도움이 될 것입니다. 아마도 당신은 http://whathaveyoutried.com에서 좋은 질문을하는 방법에 관한 훌륭한 기사를 볼 수도 있습니다. –
나는 그것이 성취하기를 원하는 것이 분명하다고 생각했다. 그러나 주먹 대답을 보면 이것은 사실이 아니기 때문에 나는 질문을 업데이트했고 지금은 더 나아질 것을 희망한다. – Flo
초기 사전도 파이썬 형식으로 작성하십시오. 'pprint' 모듈을 사용하여 멋지게 형식화 된 예제를 만들 수 있습니다 ('import pprint; pprint.pprint (filter)'). –