update query queries example delete python sqlalchemy flask-sqlalchemy

python - query - sqlalchemy update



¿Cómo actualizar la entrada de la fila SQLAlchemy? (3)

Supongamos que la tabla tiene tres columnas: username , password y no_of_logins .

Cuando el usuario intenta iniciar sesión, se comprueba su entrada con una consulta como

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

Si la contraseña coincide, él continúa. Lo que me gustaría hacer es contar cuántas veces el usuario no_of_logins sesión. Por lo tanto, cada vez que inicia sesión con éxito, me gustaría incrementar el campo no_of_logins y almacenarlo de nuevo en la tabla de usuarios. No estoy seguro de cómo ejecutar la consulta de actualización con SqlAlchemy.


Con la ayuda de user=User.query.filter_by(username=form.username.data).first() , obtendrá el usuario especificado en user variable de user .

Ahora puede cambiar el valor de la nueva variable de objeto como user.no_of_logins += 1 y guardar los cambios con el método de confirmación de la session .


Hay varias formas de UPDATE utilizando sqlalchemy

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(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.no_of_logins += 1 session.commit()