如何在Django查询中使用Aggregate(Max())打印实际数字

8dtrkrch  于 2023-04-13  发布在  Go
关注(0)|答案(2)|浏览(128)

我有以下查询集:

max_latitude = Model.objects.aggregate(Max('latitude'))

当我打印它时,它返回{'latitude__max': 51.6639002}而不是51.6639002
当我想把纬度加在一起来计算平均纬度时,这会引起一个问题。
如果我执行print(max_latitude.latitude)(Model对象的字段),我会得到以下结果:error:'dict' object has no attribute 'latitude'
我如何从查询集中提取实际的数字?

zbwhf8kr

zbwhf8kr1#

指向特定的字段名

max_latitude = Model.objects.aggregate(Max('latitude'))['latitude__max']

您也可以根据需要命名字段:

max_latitude = Model.objects.aggregate(latitude=Max('latitude'))
z9smfwbn

z9smfwbn2#

既然是dict,就用

max_latitude['latitude__max']

相关问题