python - 没有结果时 SQLAlchemy all() 返回什么
问题描述
.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
解决方案
正如文档所说,all()
将查询结果作为列表返回。因此,空结果返回为 ...
此外,由于您似乎只使用 ID,您可以查询UserAbility.ability_id
并执行
return [i[0] for i in Session.query(UserAbility.ability_id).filter_by(account_id=account_id).all()]
推荐阅读
- javascript - 我该如何解决这个 CSS 对象匹配问题?
- bash - Bash string substitution with %
- sql-server - Azure 数据工厂管道 - 从本地 SQL Server 和 Dynamics CRM 复制数据
- powershell - Powershell 使用 Get-ADPrincipleGroup 引发错误
- css - 生成css的SASS函数
- c# - 在 C# Parallel.ForEach 中的线程上保持变量
- linux - 如何删除 Linux 中所有目录文件的内容?
- reactjs - 使用 Material UI 自定义上一个/下一个分页图标背景颜色
- python-2.7 - 警告 warn(warning_msg) rpm
- wpf - GridSplitter 移动后使用 Expander 调整网格大小不起作用