如何为任意键分组聚合查询集

How to Aggregate QuerySet for Arbitrary Keys Group By

<QuerySet [
    {'id': 520, 'Commission': None, 'Effective Date': '2019-12-11 00:00:00+00'},
    {'id': 520, 'Commission': 30, 'Effective Date': None}
]>

假设我有一个像上面那样的 Django QuerySet,具有任意数量的匹配键,其中每个键只有一个不为空。

如何按照 id 获得如下结果,就像我按 id 分组一样?

<QuerySet [
    {'id': 520, 'Commission': 30, 'Effective Date': '2019-12-11 00:00:00+00'}
]>

可以使用annotate方式,参考聚合题目:https://docs.djangoproject.com/en/3.0/topics/db/aggregation/

Your_model.objects.values('id', 'date').annotate(total_commission=Sum('commission')).order_by('id'))