簡體   English   中英

來自 Django QuerySet 的嵌套字典

[英]Nested dictionary from Django QuerySet

我被困在從 Django QuerySet 創建嵌套字典我的代碼是

qr_dict = [{'id':i.pop('ID'), 'data':[{i['ACCOUNT_NAME']}] } for i in query_result]

我從上面列出的代碼中得到了結果:

[{'id': 123, 'data': [{'MUHAMMAD ADNAN'}]}, {'id': 123, 'data': [{'NAVEED AHMED SUNNY'}]}]

我需要像以下字典列表這樣的結果:

[{'id': 123, 'data': [{'MUHAMMAD ADNAN'},{'NAVEED AHMED SUNNY'}]}]

我在做什么錯,請幫助提前致謝。

使用dict.setdefault

前任:

result = {}
for i in query_result:
    result.setdefault(i['ID'], []).append(i['ACCOUNT_NAME'])

您可以使用 collections.defaultdict:

from collections import defaultdict

result = defaultdict(list)
for d in query_result:
    result[d['ID']].append(d['ACCOUNT_NAME'])

qr_dict = [{'id': k, 'data': [{e} for e in v]} for k, v in result.items()]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM