我在 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'))
有更好的方法吗?
谢谢。