在单个dict中转换dict的列表(具有2个键/值),其中第一个键的值是第二个值的键



我想进行聚合,并使用带有Count(group by(的注释。但我想把我的结果转换为

mygroupby = Mymodel.objects.all().values('field1').annotate(total=Count('field1'))
result = [wound_stat for wound_stat in wound_stats]

当前结果

[
{'field1': 'A', 'total': 1}, 
{'field1': 'B', 'total': 4}, 
{'field1': 'C', 'total': 2}, 
{'field1': 'D', 'total': 2}, 
{'field1': 'E', 'total': 2}
]

预期结果

{'A': 1, 'B': 4, 'C': 2, 'D': 2, 'E': 2}

什么是最好的方法?关于

我会使用values_list来获取元组列表:

mygroupby = Mymodel.objects.all().annotate(total=Count('field1')).values_list('field1', "total")

并在python中进行最终转换:

result = {i[0]:i[1] for i in mygroupby}

这可能是次优的,但很简单就能弄清楚发生了什么

相关内容

  • 没有找到相关文章