2017-09-28 10 views
0

JavaScriptとSQLAlchemyを使用してマップをドラッグしたときに座標が自動的に更新される機能をWebアプリケーションに追加しようとしています。しかし、更新ルートのデータベースクエリでエラーが発生しています。ここに私の質問です。SQlAlchemyでより大きい(> =)またはより小さい(<=)演算子を使用する

raise TypeError("Boolean value of this clause is not defined") 

TypeError: Boolean value of this clause is not defined 

任意の助けが理解されるであろう。ここでは

if sw_lng <= ne_lng: 

# doesn't cross the antimeridian 
rows = City.query.filter(sw_lat <= City.latitude and City.latitude <= ne_lat and (sw_lng <= City.longitude and City.longitude <= ne_lng) 
         ).group_by(City.country_code, City.city_name, City.region 
            ).order_by(func.random()).limit(10) 

は、関連するエラーメッセージです。

答えて

0

andを使用してフィルタを結合しないで、各フィルタ式を別々の引数として渡します(デフォルトの動作では、and -edを一緒に扱います)。 and自体はローカルブールテストを実行しようとしています(Python、正当な理由で、andの意味を変更するようなオーバーロードを許さない)が、SQLAlchemyはテストを専用オブジェクトとして使用して、照会ディスパッチ時にSQL照会(DBサーバーに作業をプッシュする)。あなたは欲しい:

rows = City.query.filter(sw_lat <= City.latitude, City.latitude <= ne_lat, 
         sw_lng <= City.longitude, City.longitude <= ne_lng)...cont.... 
+0

そのエラーの世話をした。しかし私の最終目標はjsonifyを使ってJSONオブジェクトをクライアント側に返すことです。 – aharding378

+0

これは、私がそれをしようとすると新しいエラーです.__ __ class __.__ name__) TypeError: 'BaseQuery'のオブジェクトがJSONシリアライズ可能ではありません – aharding378

+0

@ aharding378:これは全く別の質問です。エラーをトリガーするコード実際の行にクエリを解決するのではなく、クエリオブジェクト自体を返そうとしているように思えますが、わかりません。それが答えられたかどうかを検索し、そうでない場合は新しい質問をします。 – ShadowRanger

関連する問題