2017-09-26 50 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

'import 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