UserTable是:
id(INT)
名称(STR)
last_login(DATETIME)
提供网页请求我手头有用户ID ,我只想将 last_login 字段更新为'now'。
在我看来,有两种方式:
使用db_engine(丢失映射器)发出直接SQL
或先查询用户,然后更新对象
两者都很好但在代码中看起来很恶心。
是否有人知道使用sqlalchemy进行无查询更新的更优雅方式?还有另一个ORM谁做对了吗?
由于
答案 0 :(得分:23)
假设您有一台映射器UserTable:
DBSession.query(UserTable).filter_by(id = user_id).\
update({"last_login":datetime.datetime.now()}, synchronize_session=False)
docs中的其他参数。