如何更新SQLAlchemy行条目?
假设表有三列: username
, password
和no_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()
语句的帮助下,您将获得user
variables中的指定用户。
现在,您可以更改新的对象variables的值,如user.no_of_logins += 1
并使用session
的commit方法保存更改。