2017-09-26 10 views
-1

上の私は、このクエリにORを使用しようとしている:SQLAlchemyの方法を使用したり、フィルタ

User.query.filter(or_(username==data['username'], email==data['email'])).first() 

しかし、私はこのメッセージを得る:

グローバル名「or_」が定義されていません

私はSQLAlchemyの0.9.7(それはすでにor_を含ん)

誰でもencountereを使用していますこれを前にして、そして/またはそれを修正する方法を知っていますか?

+2

がsqlalchemy.sql.expressionインポートor_'から 'あなたをしましたか? – thaavik

+0

'imported flask.ext.sqlalchemy' – Manatax

+0

@thaavikは、その問題を修正したメソッドを個別にインポートします。 – Manatax

答えて

1

ほとんどの場合、あなたはまた

from sqlalchemy import or_ 

必要なモジュールをインポートしていなかった、私はこの演算子が、フィルタで使用できるかはわかりません。しかし、このアプローチを試してみてください。

or_()接頭辞は、Python |オペレータ(複合式は、Pythonの演算子の優先順位の行動に機能するために括弧する必要があることに注意してくださいが):

User.query.filter((username==data['username']) | (email==data['email'])).first() 
+0

この問題を修正したメソッドを個別にインポートしますが、ライブラリ全体に含まれない理由はわかりません。 – Manatax

関連する問題