sqlalchemy中的简单更新

时间:2009-06-19 10:58:46

标签: python sqlalchemy

UserTable是:

  • id(INT)

  • 名称(STR)

  • last_login(DATETIME)

提供网页请求我手头有用户ID ,我只想将 last_login 字段更新为'now'。

在我看来,有两种方式:

  1. 使用db_engine(丢失映射器)发出直接SQL

  2. 或先查询用户,然后更新对象

  3. 两者都很好但在代码中看起来很恶心。

    是否有人知道使用sqlalchemy进行无查询更新的更优雅方式?还有另一个ORM谁做对了吗?

    由于

1 个答案:

答案 0 :(得分:23)

假设您有一台映射器UserTable:

DBSession.query(UserTable).filter_by(id = user_id).\
    update({"last_login":datetime.datetime.now()}, synchronize_session=False)

docs中的其他参数。