【发布时间】:2017-11-02 20:40:58
【问题描述】:
我正在使用 sqlalchemy 表达式语言(即 Core)。我正在尝试构建一个只返回一个结果的查询。
我想做
query = select([table]).where(cond).one()
或
query = select([table]).where(cond).first()
但这只会产生
AttributeError: 'Select' object has no attribute 'one'
离我最近的是
query = select([table]).where(cond).limit(1)
但这并不完全令人满意,因为我得到了一个我想要一个结果的结果列表。我可以通过插入额外的逻辑来解决问题,但我会更乐意找到一种干净利落的方法。我也不想使用纯文本查询。
有什么想法吗?非常感谢。
【问题讨论】:
-
query = select([table]).where(cond).first()应该可以正常工作而不会抛出该错误并返回 1 行。你也可以试试fetchone -
如果我尝试,我会得到以下信息:AttributeError: 'Select' object has no attribute 'first'
标签: python sqlalchemy