gpt4 book ai didi

python - 检查 .one() 是否为空 sqlAlchemy

转载 作者:IT老高 更新时间:2023-10-28 22:16:26 25 4
gpt4 key购买 nike

我正在运行基于查询的其他 ID 的查询。我遇到的问题是有时查询不会找到结果。我如何检查结果是否为 None,而不是让整个程序崩溃?

这是我的查询:

sub_report_id = DBSession.query(TSubReport.ixSubReport).filter(and_(TSubReport.ixSection==sectionID[0], TSubReport.ixReport== reportID[0])).one()

当代码被执行并且没有找到结果时,我得到一个 NoResultFound 异常

NoResultFound: No row was found for one()

如果没有结果,有没有办法跳过查询?

在 SO 上找到了解决方案(之前没找到) Getting first row from sqlalchemy

最佳答案

使用 first() 函数代替 one()。如果没有结果,它将返回 None。

sub_report_id = DBSession.query(TSubReport.ixSubReport).filter(and_(TSubReport.ixSection==sectionID[0], TSubReport.ixReport== reportID[0])).first()

参见文档 here

关于python - 检查 .one() 是否为空 sqlAlchemy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24985989/

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