这是一个有趣的。也许有人可以弄清楚这一点。假设我有一个类似于下面的查询集,并且希望按月获得每家公司的潜在客户。
Company.objects.annotate(
month=TruncMonth('leads__date_received')
count=Count('leads')
).values('company__name', 'month', 'count')
这将为每个公司每月给我一个字典,如下所示:
{'company_name': 'Amazon', 'month': '2018-01-01', 'count': 333},
{'company_name': 'Amazon', 'month': '2018-02-01', 'count': 444},
{'company_name': 'Amazon', 'month': '2018-03-01', 'count': 555},
这很好,但如果我想以表格形式将其放入,则需要进一步处理。我想要的是如下结果:
{'company_name': 'Amazon', '2018-01-01': 333, '2018-02-01': 444, '2018-03-01': 555}
如果我已经知道月份范围并且可以根据月份键提取每个列值,这是理想的选择。任何人都知道像这样浓缩结果的巧妙方法吗?是否有一些已经构建的辅助功能可以做到这一点?任何简单的数据库技巧?很想听。