我有以下查询:
cc = Comment.objects.filter(pk__in=cids).values('user_id').annotate(z=Count('user_id')).order_by('user_id')
print cc
结果目前看起来像这样:
[{'z': 1, 'user_id': 2L}, {'z': 2, 'user_id': 4L}, {'z': 2, 'user_id': 38L}]
但是,我想要获得这样的东西:
[{'user_id': 2L, 'z':1}, {'user_id': 4L,'z': 2, }, { 'user_id': 38L},'z': 2]
我知道有类似的解决方法 将valuequeryset转换为dict - >反向词典,得到上述结果。但有没有办法通过查询来解决这个问题?
答案 0 :(得分:0)
词典是无序的,你在z
之前看到的只是user_id
只是巧合。
如果你想要一个有序的字典,请尝试将OrderedDict用于Python2.7及更高版本。