如何更新SQLAlchemy行条目?

假设表有三列: usernamepasswordno_of_logins

当用户尝试login时查询类似查询的条目

 user=User.query.filter_by(username=form.username.data).first() 

如果密码匹配,他继续进行。 我想要做的是统计用户login多less次。因此,当他成功logging日志时,我想增加no_of_logins字段并将其存回用户表。 我不知道如何使用SqlAlchemy运行更新查询。

 user.no_of_logins += 1 session.commit() 

有几种方法可以使用sqlalchemy进行UPDATE

 1) user.no_of_logins += 1 session.commit() 2) session.query().\ filter(User.username == form.username.data).\ update({"no_of_logins": (User.no_of_logins +1)}) session.commit() 3) conn = engine.connect() stmt = User.update().\ values(User.no_of_logins = (User.no_of_logins + 1)).\ where(User.username == form.username.data) conn.execute(stmt) 4) setattr(user, 'no_of_logins', user.no_of_logins+1) session.commit() 

user=User.query.filter_by(username=form.username.data).first()语句的帮助下,您将获得uservariables中的指定用户。

现在,您可以更改新的对象variables的值,如user.no_of_logins += 1并使用session的commit方法保存更改。