我有这个型号:
class TimeInterval(models.Model):
startTime = models.DateTimeField()
endTime = models.DateTimeField()
如何仅使用QuerySet API聚合平均时间间隔?
我试过了:
qs = TimeInterval.objects.extra(
select={"duration": "endTime - startTime"}).aggregate(
Avg("duration"))
但它会抛出:
FieldError: Cannot resolve keyword 'duration' into field. Choices are:
endTime, startTime
答案 0 :(得分:1)
我将使用解决方法。
创建一个名为duration的新字段。
为TimeInterval创建一个pre-save_signal,用于计算持续时间的值。
然后,您可以在查询中轻松使用持续时间字段。