2

SQL where 句文字列を sqlalchemy クエリに変換するにはどうすればよいですか? 私はすでにテーブルを知っていると仮定しています。

データ用に Flask API をヒットする Angular webapp を構築しています。Flask は sqlalchemy を使用してデータベースにクエリを実行しています。jQuery-QueryBuilder fromSQL ( http://querybuilder.js.org/plugins.html#import-export ) はフィルターを未加工の SQL としてエクスポートし、それを API、解析、およびクエリに戻します。

例えば:

where_str = "name LIKE '%BOB%' AND fruit != 'pineapple'"

次のように変換されます:

session.query(Table).filter(Table.name.like('%BOB%')).filter(Table.fruit != 'pineapple)

odo が私が必要としているものかもしれないので、blaze にタグを付けます。

4

2 に答える 2

7

実行を試みることができsession.query(Table).filter(where_str)ます。SQLAlchemy v0.5.8でうまくいきました。また、SQL ステートメント文字列全体を作成し、Connection.execute()メソッドを使用して実行することもできます。いずれにせよ、Web ページからアプリケーションに SQL ステートメントを文字列として直接渡すことは非常に危険です。

于 2015-09-10T21:41:23.193 に答える