Группировка по неделям и получение значений с датой начала недели и датой окончания недели в django

Вот моя модель Модель:

class Order(models.Model):
    buyer = models.ForeignKey(Buyer, on_delete=models.CASCADE)
    value = models.FloatField(null=True, blank=True)
    date = models.DateField(null=True, blank=True)

Мне нужен запрос для отображения недельных данных с датой начала недели и датой окончания недели. ожидаемая таблица:

---------------------------------------------
|  week | start date | end date   |  Value  |
---------------------------------------------
|   1   | 01-01-2022 | 07-01-2022 |  5400   |
---------------------------------------------
|   2   | 08-01-2022 | 14-01-2022 |  6000   |
---------------------------------------------

Вы можете использовать фильтры с __gte для использования в качестве оператора >=.

week_orders = Order.objects.filter(date__gte=START_DATE, date__lte=END_DATE)

Тогда у вас есть QuerySet, с которым вы можете работать дальше.

from django.db.models import Sum

sum_of_values = week_orders.aggregate(Sum('value'))
Вернуться на верх