【发布时间】:2011-09-12 01:25:00
【问题描述】:
我的代码中有以下几行
query = "SELECT id, " \
"( 3959 * acos( cos( radians(37) ) * cos( radians( %(lat)i ) ) * " \
"cos( radians( %(lng)i ) - radians(-122) ) + sin( radians(37) ) * " \
"sin( radians( %(lat)i ) ) ) ) AS `distance` from message where" \
" `distance` <= %(drange)d" % {'lat': float(lat), 'lng': float(lng), 'drange': int(drange)}
print query
messages = db.session.query(Message).from_statement(query).all()
当我使用这个时出现以下错误
OperationalError: (OperationalError) (1054, "Unknown column 'distance' in 'where clause'") 'SELECT id, ( 3959 * acos( cos( radians(37) ) * cos( radians( 0 ) ) * cos( radians( 0 ) - radians(-122) ) + sin( radians(37) ) * sin( radians( 0 ) ) ) ) AS `distance` from message where `distance` <= 50' ()
解决这个问题的正确方法是什么?
【问题讨论】:
-
对不起,如果我遗漏了一些东西,但是计算值如何连接到消息数据库表(我的意思是您传递给外部的所有计算值以及计算的预期值?
标签: python sql sqlalchemy haversine