【问题标题】:simple update in sqlalchemysqlalchemy 中的简单更新
【发布时间】:2010-11-04 06:44:47
【问题描述】:

用户表是:

  • id (INT)

  • 名称 (STR)

  • last_login (DATETIME)

处理网页请求,我手头有一个用户 ID,我只想将 last_login 字段更新为“现在”。

在我看来有两种方法:

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

  2. 或者先查询用户再更新对象

两者都可以正常工作,但在代码中看起来很恶心。

是否有人知道使用 sqlalchemy 进行无查询更新的更优雅方式?有没有其他 ORM 做对了?

谢谢

【问题讨论】:

    标签: python sqlalchemy


    【解决方案1】:

    假设您有一个映射器 UserTable:

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

    docs 中的附加参数。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-20
    • 1970-01-01
    相关资源
    最近更新 更多