如果没有找到结果,.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
答案 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()]