Django:按日期分组然后计算每个日期的金额总和
Django: Group by date then calculate Sum of amount for each date
我有一个类似的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 天内执行此操作。
找到解决方案,下面的查询将起作用:
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), 'sum': 10000000.0}, {'created_at__date': datetime.date(2019, 1, 4), 'sum': 4367566577.0}]>
我有一个类似的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 天内执行此操作。
找到解决方案,下面的查询将起作用:
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), 'sum': 10000000.0}, {'created_at__date': datetime.date(2019, 1, 4), 'sum': 4367566577.0}]>