如何在我的SQLAlchemy模型中创建自定义SQL查询?

2024-05-13 10:40:05 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我在SQLAlchemy中有一个模型,它代表一个商店(名称、地址、纬度、经度)。我需要执行一个自定义查询,它允许我通过当前位置的经纬度来查找附近的商店。我希望能够从视图内部调用这个模型方法来返回一组shop对象。有谁能告诉我如何在我的模型中实现这个功能吗?在


Tags: 对象方法模型功能名称视图sqlalchemy地址
1条回答
网友
1楼 · 发布于 2024-05-13 10:40:05

我对同一问题的解决方案

sql = "SELECT id, name,(" \
                    "6371 * ACOS( " \
                    "COS( RADIANS( :lat ) ) " \
                    "* COS( RADIANS( latitude ) )" \
                    "* COS( RADIANS( longitude ) - RADIANS( :lng ) )" \
                    "+ SIN( RADIANS( :lat ) ) " \
                    "* SIN( RADIANS( latitude ) ) )) " \
                    "AS distance " \
                    "FROM shop " \
                    "ORDER BY distance"

answer = shop.query.from_statement(sql).params(lat=lat,lng=lng).first()

相关问题 更多 >