Возвращает атрибут _Srows - SQLAlchemy - PullRequest
0 голосов
/ 01 мая 2018

Я пытаюсь выбрать строку по значению ее идентификатора из базы данных и использую атрибут 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 не считается истинным.

Может кто-нибудь помочь мне понять, почему это происходит? Заранее спасибо.

1 Ответ

0 голосов
/ 09 августа 2018

Используйте 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."
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...