首页 > 解决方案 > 如何删除 sqlalchemy 列上的自动更新?

问题描述

更新其他两个列值时,在我的代码中保持不变的已创建列会自行更新为当前时间。

这是模型

class Query(db.Model):
    __tablename__ = "query"
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(2000))
    created = db.Column(db.DateTime)
    modified = db.Column(db.DateTime)
    launched = db.Column(db.Integer)
    exception = db.Column(db.String(500), nullable=True)
    enable = db.Column(db.Boolean)
    expired = db.Column(db.Boolean)
    app_id = db.Column(db.String(20))
    app_secret = db.Column(db.String(40))
    page_id = db.Column(db.String(20))
    token = db.Column(db.String(300))

更新代码

query.launched = query.launched + 1
query.modified = until
db.session.commit()

我所期望的是修改后的列将更新到“直到”时间,这已经发生了,但创建的列保持不变。

标签: pythonmysqlsqlalchemy

解决方案


我得到了错误。它在我的 sql 语法中。我仍然没有弄清楚为什么会发生这种情况,但是通过更改它来解决它:

-created时间戳不为空

+ createdTIMESTAMP 默认 CURRENT_TIMESTAMP


推荐阅读