我正在寫一個功能集合,需要在不同的時間(周,月,季度等),這裏的項目平均價格的模型:Django的/ Python的日期按月和季度
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天,但對於月和季度?他們有不同的天數......?
謝謝!
編輯: 該應用程序是爲一個金融組織,30天的月份不會削減它恐怕,謝謝你的建議!
金融趨勢的應用程序,我懷疑偏差是不可接受的! – 0atman 2011-02-01 13:29:07
你真的看了我鏈接到的維基百科文章嗎? 360天的日曆是爲了這個目的而設計的。畢竟,爲什麼要顯示平均值「過去一個月」的應用程序在1月31日(平均過去31天)和2月1日(平均過去28天)有不同的表現? – 2011-02-01 13:32:28