如何更新行的信息?
例如,我想更改 ID 为 5 的行的名称列。
原文由 pocorschi 发布,翻译遵循 CC BY-SA 4.0 许可协议
如何更新行的信息?
例如,我想更改 ID 为 5 的行的名称列。
原文由 pocorschi 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 SQLAlchemy 的 BaseQuery 对象上有一个方法 update
,由 filter_by
返回。
num_rows_updated = User.query.filter_by(username='admin').update(dict(email='my_new_email@example.com')))
db.session.commit()
当有许多对象要更新时,使用 update
优于更改实体的优势就出现了。
如果您想将 add_user
权限授予所有 admin
s,
rows_changed = User.query.filter_by(role='admin').update(dict(permission='add_user'))
db.session.commit()
请注意 filter_by
采用关键字参数(仅使用一个 =
),而 filter
采用表达式。
原文由 Devi 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
2 回答862 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
使用 Flask-SQLAlchemy 文档 中显示的教程 检索对象。拥有要更改的实体后,请更改实体本身。然后,
db.session.commit()
。例如:
Flask-SQLAlchemy 基于 SQLAlchemy,所以一定要查看 SQLAlchemy 文档。