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

问题描述 投票:0回答:2

我有以下查询集:

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

当我打印它时,它返回

{'latitude__max': 51.6639002}
而不是
51.6639002

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

如果我这样做

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

如何提取查询集中给定的实际数字?

python django django-views
2个回答
1
投票

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

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

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

1
投票

既然是字典,就用

max_latitude['latitude__max']
© www.soinside.com 2019 - 2024. All rights reserved.