Я пишу функцию, которая требует средней цены товара в разное время (неделя, месяц, квартал и т. Д.). Вот модель:
class ItemPrice(models.Model):
item = models.ForeignKey(Item)
date = models.DateField()
price = models.FloatField()
Эта модель отслеживает цену товара с течением времени, и новые товары добавляются с частыми, но не регулярными интервалами.
Найти среднее значение price
за последнюю неделю достаточно просто:
ItemPrice.objects.filter(item__id = 1)
.filter(date_lt = TODAY)
.filter(date_gte = TODAY_MINUS_7_DAYS)
.filter(date_.aggregate(Avg('value'))
Как неделя всегда имеет 7 дней, но как насчет месяца и квартала? У них разное количество дней ...?
Спасибо!
EDIT:
Приложение предназначено для финансовой организации, боюсь, 30-дневные месяцы, спасибо за предложение!