Django:按日期分组,然后计算每个日期的金额总和

时间:2019-01-04 10:47:05

标签: django django-models django-orm

我有一个django模型。它存储一段时间内发生的总交易。

class Transaction(models.Model):
    amount = models.FloatField()
    seller = models.ForeignKey(User, related_name='sells', on_delete=models.CASCADE)
    buyer = models.ForeignKey(User, related_name='purchased', on_delete=models.CASCADE)
    created_at_date = models.DateField(auto_now_add=True)

我的问题:

那是我如何才能找到每天的交易总额。每天应该计算当天所有交易的总和。

例如,我需要最近7天这样做。

1 个答案:

答案 0 :(得分:0)

找到解决方案,下面的查询将起作用:

Transaction.objects.filter().values('created_at__date').order_by('created_at__date').annotate(sum=Sum('amount'))

结果将是:

<QuerySet [{'created_at__date': datetime.date(2019, 1, 3), 'count': 10000000.0}, {'created_at__date': datetime.date(2019, 1, 4), 'count': 4367566577.0}]>