Что возвращает SQLAlchemy all (), когда нет результатов? - PullRequest
0 голосов
/ 26 ноября 2018

Я думаю, что смогу упростить это, если .all() в SQLAlchemy вернет пустой список, если результаты не найдены.Пожалуйста, сообщите:

@classmethod
def list_for(cls, account_id):
    result = list()
    rows = Session.query(UserAbility).filter_by(account_id=account_id)
    for row in rows:
        result.append(row.ability_id)
    return result

1 Ответ

0 голосов
/ 27 ноября 2018

Как сказано в документации, all() возвращает результат запроса в виде списка.Поэтому пустой результат возвращается как ...

Более того, поскольку вы, похоже, используете только идентификаторы, вы можете запросить UserAbility.ability_id и выполнить

return [i[0] for i in Session.query(UserAbility.ability_id).filter_by(account_id=account_id).all()]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...