根据过滤器使用 sqlalchamey 选择特定列值

jka*_*att 2 python mysql sqlalchemy flask flask-sqlalchemy

一直在摆弄 SQLalchemy 和 Flask,遇到了一个我找不到好的文档的问题。

我需要查询特定用户的电子邮件,但我无法找到过滤器的正确组合并选择特定列。

我试过了:

user = User.query.filter(User.username == currentuser).email

user = User.query(User.email).filter(User.username == currentuser)

user = User.query.filter(User.username == currentuser, User.email)

user = User.query.filter(User.email, User.username == currentuser)
Run Code Online (Sandbox Code Playgroud)

但我无法得到我想要的结果。

Hih*_*iho 6

很确定

user = User.query.filter(User.username == currentuser).email

实际上并不执行查询,你必须做类似的事情

user = User.query.filter(User.username == currentuser).first().email

根据http://docs.sqlalchemy.org/en/latest/orm/query.html#sqlalchemy.orm.query.Query.first

注意,如果用户不存在,上面的语句将会失败,因为first()将返回None。