gpt4 book ai didi

postgresql - 在 SQLAlchemy 中打印计算出的距离

转载 作者:行者123 更新时间:2023-11-29 11:47:23 26 4
gpt4 key购买 nike

我正在将 Flask-SQLAlchemy 与 Postgres、Postgis 和 GEOAlchemy 结合使用。我能够根据用户提交的点对表中的条目进行排序。我想知道如何返回计算出的距离...

这是我对项目进行排序的方式:

result = Event.query.order_by(func.ST_Distance(Event.address_gps, coordinates_point)).paginate(page, 10).items

for result in results:
result_dict = result.to_dict()

return result_dict

根据用户位置 (coordinates_point)。我想在 result_dict 的每个结果中添加一个条目,其中还包含订购该项目的距离。我怎么做? func.ST_Distance 返回什么?

我试图在上面的 for 循环中添加:

current_distance = func.ST_Distance(Event.address_gps, coordinates_point)
result_dict['distance'] = current_distance

但这似乎没有用。

最佳答案

您可以使用 column labels

query = Event.query.with_entities(Event, func.ST_Distance(Event.address_gps, coordinates_point).label('distance')).order_by('distance')
results = query.paginate(page, 10).items
for result in results:
event = result.Event
distance = result.distance
result_dict = event.to_dict()
result_dict['distance'] = distance

关于postgresql - 在 SQLAlchemy 中打印计算出的距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35108014/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com