Джанго: Сгруппируйте по дате, затем рассчитайте сумму суммы для каждой даты - PullRequest
0 голосов
/ 04 января 2019

Мне нравится модель 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 голосов
/ 04 января 2019

Нашел решение, запрос ниже будет работать:

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}]>
...