如何为任意键分组聚合查询集
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'))
<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'))