returns_rows属性不起作用 - SQLAlchemy

时间:2018-05-01 10:06:58

标签: python flask sqlalchemy

我试图通过数据库中的id值选择行,并且我使用returns_rows类的ResultProxy属性检查是否在调用之前返回了一行fetchone()

为此,我代码:

book = db.execute("SELECT * FROM books WHERE isbn=:isbn", {"isbn": id})
if book.returns_rows is not True:
    return "Not found."
book = book.fetchone()
// ...

根据documentation,如果返回至少一行,则应该返回True。但即使数据库中不存在id值, if语句也不会被评估为true。

任何人都可以帮助我理解为什么会这样吗?提前谢谢。

1 个答案:

答案 0 :(得分:0)

改为使用cursor.fetchone() is not None

book = db.execute("SELECT * FROM books WHERE isbn=:isbn", {"isbn": id})
book = book.fetchone()
if book is None:
    return "Not found."