Как усреднить и сжать данные с помощью django?

Этот класс имеет вольт и частоту, которые вычисляются каждую минуту.
Я хочу взять среднее значение каждого (вольт, частота … etc) каждые 15 минут записанных данных и времени.

Должен ли я сделать это в SQL или это может быть сделано django?

class LogsN (models.Model):
    syv = models.ForeignKey (smodel.Syved, related_name='%(class)s')
    data = models.ForeignKey (smodel.Data, related_name='%(class)s')
    val = models.FloatField (null=True, blank = True)
    timestamp = models.DateTimeField ()
    objects = AccessManager()

2 ответа

  1. Как опубликовано Sardorbek (я не могу пока комментировать): согласно https://docs.djangoproject.com/en/1.10/topics/db/aggregation/ :

    LogsN.objects.all().aggregate(Avg('val'))['val__avg']
    

    Просто помните, что aggregate метод возвращает словарь, если вы хотите значение, которое вы должны будете использовать ключ [‘val_ _ avg’].