我在这个问题中遵循了(两个)示例:SQLAlchemy:使用声明式更新的更好方法?
而且我发现在Ubuntu Linux上使用带有flask-sqlalchemy的sqlite时不会发生模型更新.最简单的例子对我不起作用:
class Task:
id= db.Column(db.Integer, primary_key=True)
name= db.Column(db.String(32), unique=True)
desc= db.Column(db.String(255), unique=False)
state= db.Column(db.Boolean)
# ...
@app.route("/task/<int:id>/update",methods=["POST"])
def toggle_state(id):
db.session.query(Task).get(id).update({"state":True})
log.info("state is now: " + str(Task.query.get(id).state))
# prints "state is now: False"
Run Code Online (Sandbox Code Playgroud)
第一次使用flask/sqlalchemy,所以我假设我遗漏了一些明显的东西.