没有结果时,SQLAlchemy all()返回什么

时间:2018-11-26 19:43:11

标签: python sqlalchemy

如果没有找到结果,.all() in 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 :(得分:1)

如文档所述,all()将查询结果作为列表返回。因此,空结果将返回为...

此外,由于您似乎仅使用ID,因此可以查询UserAbility.ability_id,然后执行

return [i[0] for i in Session.query(UserAbility.ability_id).filter_by(account_id=account_id).all()]