使用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'
什么是获得平均水平的正确方法?
答案 0 :(得分:2)
如文档所述:
aggregate()是QuerySet的终端子句,该子句在调用时将返回名称-值对的字典。 *
aggregate方法返回一个字典,因此您需要对其进行过滤。因此,如果您按照以下方式更改代码,则会得到结果:
input {
border:solid 1px #ddb760;
}
input:focus {
border:solid 1px blue;
}