1
在我的燒瓶web應用程序中,我有一個登錄系統。當用戶登錄時,在我的數據庫的表中,我想更新用戶進行上次登錄時的日期時間。 我使用這個代碼:燒瓶更新查詢
@app.route('/login', methods=['POST'])
def do_admin_login():
POST_CODICE_FISCALE = str(request.form['codice_fiscale'])
POST_PASSWORD = str(request.form['password'])
pwd_enc=base64.b64encode(POST_PASSWORD)
Session = sessionmaker(bind=engine)
s = Session()
query = s.query(User).filter(User.codice_fiscale.in_([POST_CODICE_FISCALE]), User.password.in_([pwd_enc]))
result = query.first()
if result:
session['logged_in'] = True
query = s.query(User).filter(User.codice_fiscale.in_([POST_CODICE_FISCALE]).update(User.data_ora_ultimo_accesso=datetime.now()))
query.first()
db.session.commit()
else:
flash('wrong password!')
return home()
,但我收到的錯誤:
query = s.query(User).filter(User.codice_fiscale.in_([POST_CODICE_FISCALE]).update(User.
data_ora_ultimo_accesso=datetime.now()))
SyntaxError: keyword can't be an expression
什麼是錯的? 謝謝。
謝謝。它工作沒有錯誤,但它似乎在數據庫data_ora_ultimo_accesso不更新。 –
你是否修復了會話處理?不要創建單獨的會話,但始終使用'db.session'。順便說一句,你也可以使用ORM來執行更新:'result.codice_fiscale = datetime.now()'然後提交。 –
您的意思是使用相同的會話:Session = sessionmaker(bind = engine) s = Session()如何一致地使用db.session? –