我有一个具有以下属性的表-
created_at = TimestampField(auto_now_add = True,auto_now_update = False,editable = False)Updated_at = TimestampField(null = True,auto_now_update = True,editable = False)
并且其中有一项服务正在运行,首先进入系统,然后我们捕获created_at时间戳。
并且在完成服务一段时间后,脚本会更新表属性,并且我们捕获updated_at时间戳。
所以现在我想找到服务部署时间的平均值,即((updated_at-created_at)的加法除以服务总数,或者我们可以说表中的总行数。
因此该查询需要在Django ORM中实现,并且必须序列化到端点。
以便可以在前端获取数据。
你们能在这里帮助我吗,这是非常值得赞赏的?
提前感谢!
更新1:Model.objects.annotate(avg_serv_dep=F('modified') - F('created')).aggregate(Avg('avg_serv_dep'))
您可以尝试Model.objects.annotate(avg_serv_dep=Avg(F('updated_at') - F('created_at')))
I just came to these solutions.
queryset1=Model.objects.aggregate(y=(Max(F('updated_at')-F('created_at'),output_field=FloatField()))/60000000)
/60000000 to convert microsecond to minutes
AND
queryset = Model.objects.filter().values('attr1','attr2')\
.annotate(min_time=Min(F('updated_at')-
F('created_at')),max_time=Max(F('updated_at')-
F('created_at')),avg_time=Avg(F('updated_at')-
F('created_at'))).order_by('attr1')