gpt4 book ai didi

python - 从 sqlalchemy 获取第一行

转载 作者:IT老高 更新时间:2023-10-28 20:34:44 26 4
gpt4 key购买 nike

我有以下疑问:

profiles = session.query(profile.name).filter(and_(profile.email == email, profile.password == password_hash))

如何检查是否有一行以及如何只返回第一行(如果有匹配则应该只有一个)?

最佳答案

使用 query.one()得到一个,恰好一个结果。在所有其他情况下,它将引发您可以处理的异常:

from sqlalchemy.orm.exc import NoResultFound
from sqlalchemy.orm.exc import MultipleResultsFound

try:
user = session.query(User).one()
except MultipleResultsFound, e:
print e
# Deal with it
except NoResultFound, e:
print e
# Deal with that as well

还有query.first() ,这将为您提供可能很多的第一个结果,而不会引发这些异常。但是既然你要处理没有结果或者超出你想象的情况,query.one()正是你应该使用的。

关于python - 从 sqlalchemy 获取第一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18110033/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com