Я пытаюсь выбрать строку по значению ее идентификатора из базы данных и использую атрибут 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()
// ...
Согласно документации предполагается, что она вернет True
, если будет возвращена хотя бы строка. Но даже если значение id
не существует в БД, оператор if не считается истинным.
Может кто-нибудь помочь мне понять, почему это происходит? Заранее спасибо.