为了账号安全,请及时绑定邮箱和手机立即绑定

Django:如何将平面查询集处理为嵌套字典?

Django:如何将平面查询集处理为嵌套字典?

慕尼黑5688855 2021-06-21 12:21:38
我有一个数据表,如下所示:|Country|State|City |Street||-------|-----|-----|------||  USA  | AZ  |city1| str1 ||  USA  | AZ  |city1| str2 ||  USA  | AZ  |city2| str1 ||  USA  | AZ  |city2| str3 ||  USA  | MN  |city3| str4 ||  MEX  | CH  |city4| str5 ||  MEX  | CH  |city4| str6 |将其转换为嵌套字典的正确方法是什么?我希望结果看起来像这样:nested_dict = {    'USA':{        'AZ':{            'city1':['str1','str2'],            'city2':['str1','str3'],         },        'MN':{            'city3':['str3','str4'],         },    },    'MEX':{        'CH':{            'city4':['str5','str6'],        },    },}
查看完整描述

1 回答

?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

您可以使用嵌套的defaultdict:


from collections import defaultdict as dd


nested_dict = dd(lambda: dd(lambda: dd(list)))

for m in model.objects.all():

    nested_dict[m.Country][m.State][m.City].append(m.Street)


查看完整回答
反对 回复 2021-06-22
  • 1 回答
  • 0 关注
  • 142 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信