如何计算Django中两个日期之间的平均差?

时间:2019-04-11 15:18:31

标签: django python-3.x date datetime

使用Django和Python 3.7。我正在尝试编写查询以给我两个日期之间的差异的平均值。我的模型中有两个字段,都是“ DateTimeField”,我尝试像这样计算平均差

everything_avg = Article.objects.aggregate(
    avg_score=Avg(F('removed_date') - F('created_on'), output_field=models.DateTimeField())
).filter(removed_date__isnull=False)
return everything_avg

但是运行以上命令时我最终收到此错误

AttributeError: 'dict' object has no attribute 'filter'

什么是获得平均水平的正确方法?

1 个答案:

答案 0 :(得分:2)

如文档所述:

  

aggregate()是QuerySet的终端子句,该子句在调用时将返回名称-值对的字典。 *

aggregate方法返回一个字典,因此您需要对其进行过滤。因此,如果您按照以下方式更改代码,则会得到结果:

input {
  border:solid 1px #ddb760;
}

input:focus {
  border:solid 1px blue;
}