У меня есть две простые таблицы в Django, которые выглядят так:
class Session(models.Model):
id = models.AutoField(primary_key=True)
class Track(models.Model):
id = models.AutoField(primary_key=True)
session = models.ForeignKey(Session)
when = models.DateTimeField(null=False, auto_now_add=True)
Мне нужно найти среднюю продолжительность всех сеансов. Продолжительность сеанса рассчитывается путем вычитания наибольшего значения when
с самым низким значением when
. Могу ли я сделать что-то вроде этого:
Session.objects.all().annotate(duration=Max('track__when') - Min('track__when')).aggregate(Avg('duration'))
Есть ли лучшие методы?
Спасибо.