Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django QuerySet中的嵌套字典_Python_Django - Fatal编程技术网

Python Django QuerySet中的嵌套字典

Python Django QuerySet中的嵌套字典,python,django,Python,Django,我一直在从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':

我一直在从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

Ex:

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()]

你能发布查询结果的内容吗?