ig-*_*nyk 4 python mysql sqlalchemy
我有一个用户表(超过 15 列),有时我需要完全更新所有用户属性。例如,我想替换
user_in_db = session.query(Users).filter_by(user_twitter_iduser.user_twitter_id).first()
与一些其他对象。
我找到了以下解决方案:
session.query(User).filter_by(id=123).update({"name": user.name})
Run Code Online (Sandbox Code Playgroud)
但我认为编写所有 15 个以上的属性很容易出错,应该存在一个更简单的解决方案。
你可以写:
session.query(User).filter_by(id=123).update({column: getattr(user, column) for column in User.__table__.columns.keys()})
Run Code Online (Sandbox Code Playgroud)
这将迭代User模型(表)的列,并动态创建一个包含必要键和值的字典。
| 归档时间: |
|
| 查看次数: |
2285 次 |
| 最近记录: |