Django按桶分组

时间:2016-04-28 10:37:24

标签: python django django-models

我有一个表bucket_items,其列为bucket_id,item_id我想按bucket_id对item_ids进行分组,使用 ItemBucket.objects.values('bucket_id', 'item_id')这会返回包含bucket_id和item_id的字典列表,我想要的是一个字典列表,其中包含桶ID作为键,item_ids列表为值

[{1: [1,2,3]}, {3: [7,3,2]}]

1 个答案:

答案 0 :(得分:2)

使用values_list会更好,而不是values,而tuples会返回dicts而不是final_dict = dict() for (bucket_id, item_id) in ItemBucket.objects.values_list('bucket_id', 'item_id'): final_dict.setdefault(bucket_id, []).append(item_id) final_list = [{bucket_id: final_dict[bucket_id]} for bucket_id in final_dict] 。所以你可以做类似

的事情
HubSection