【发布时间】:2018-04-26 11:02:49
【问题描述】:
我有以下型号:
class Order(models.Model):
placed_at = models.DateTimeField()
amount = models.DecimalField()
我想知道每年amount 的总数。运行时:
Order.objects.annotate(year=TruncYear('placed_at'))
.values('year')
.annotate(total=Sum('amount'))
Django 返回一个查询集,其中包含数据库中每条记录的年份和总数(所以total == amount)。使用聚合时:
Order.objects.annotate(year=TruncYear('placed_at'))
.values('year')
.aggregate(total=Sum('amount'))
Django 返回总计 ({'total': Decimal('72822.41')})。我正在寻找的结果应该是每年分解的总数。喜欢
<QuerySet [{'year': 2016, 'total': Decimal('20000.00')},
{'year': 2017, 'total': Decimal('30000.00')}]
知道我在这里俯瞰什么吗?
【问题讨论】: