私は、そのインスタンス毎時間作成するモデルがあります:djangoでデータを集計する方法は?
class Entry(models.Model):
class Meta:
ordering = ['time']
time = models.DateTimeField()
no2 = models.FloatField()
co = models.FloatField()
humidity = models.FloatField()
temperature = models.FloatField()
私は先月の日間の平均値を取得したいが、例えば毎日の平均値を含む30のインスタンス。それを実現するには?今私はこのメソッドを書いています:
def average_for_period(self, start, end):
entries_for_period = Entry.objects.filter(time__gte=start, time__lte=end)
average_value = entries_for_period.aggregate(Avg('temperature'), Avg('no2'), Avg('co'), Avg('humidity'))
return Entry(**average_value)
機能の実装にはどうすればよいですか?