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



我有以下查询集:

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

当我打印它时,它返回{'latitude__max': 51.6639002}而不是51.6639002

当我想把纬度加在一起计算平均纬度时,这会导致一个问题。

如果我做print(max_latitude.latitude)(模型对象的字段),我得到以下内容:error:'dict' object has no attribute 'latitude'

我如何从查询集中提取实际数字?

指向特定的字段名
max_latitude = Model.objects.aggregate(Max('latitude'))['latitude__max']

你也可以随意命名你的字段:

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

因为是字典,所以使用

max_latitude['latitude__max']

最新更新