之间的主要区别是什么.one()
and .scalar()
在 SQLAlchemy 中,因为两者都执行相同的工作。
我看到一些网站,例如教程点.com https://www.tutorialspoint.com/sqlalchemy/sqlalchemy_orm_returning_list_and_scalars.htm但这个解释还不足以让我理解清楚
SQLAlchemy 有很好的文档。
one()
仅返回一个结果或引发异常。
如果查询未选择任何行,则引发 sqlalchemy.orm.exc.NoResultFound。
如果有多个对象,则引发 sqlalchemy.orm.exc.MultipleResultsFound
返回身份,或者如果查询返回多行
仅返回标量值,而不是完整的身份映射
实体。
Link on one() https://docs.sqlalchemy.org/en/latest/orm/query.html#sqlalchemy.orm.query.Query.one method
scalar()
返回第一个结果的第一个元素,如果没有行则返回 None
展示。如果返回多行,则引发 MultipleResultsFound。
Link on scalar() https://docs.sqlalchemy.org/en/latest/orm/query.html#sqlalchemy.orm.query.Query.scalar method.
如果您有一些相关问题SQL炼金术我的建议 - 首先,检查文档,因为它非常强大且干净。
UPD:
由于答案包含旧链接以及 SQLAlchemy 1.4 版本的链接。
这是2.0版本的链接
- Query.scalar() https://docs.sqlalchemy.org/en/20/core/connections.html#sqlalchemy.engine.Result.scalar
- 查询.one() https://docs.sqlalchemy.org/en/20/core/connections.html#sqlalchemy.engine.Result.one
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)