Группировка по неделям и получение значений с датой начала недели и датой окончания недели в 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'))