【发布时间】:2011-10-27 20:36:56
【问题描述】:
我在 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'))
有更好的方法吗?
谢谢。
【问题讨论】:
标签: django django-queryset django-aggregation