postgresql:如何在会话中存储id
postgresql: how to store id in session
我正在使用带有 Python 的 postgreSQL(使用 Flask 和 SQLAlchemy 作为 ORM),我正在实现一个需要用户注册和登录的网站,注册后我希望用户自动登录在,为此我使用了:
# storing id in session
rows = db.execute("SELECT * FROM users WHERE username = :username ",
{"username": request.form.get("username")})
session["user_id"] = rows[0]["id"]
# Redirect user to home page
return redirect("/")
但它会给出如下错误:
TypeError: 'ResultProxy' object does not support indexing
所以我不知道该怎么做。
这意味着你应该在结果代理上调用fetchall
或fetchone
方法:
rows = db.execute('query').fetchall()
session["user_id"] = rows[0]["id"]
我正在使用带有 Python 的 postgreSQL(使用 Flask 和 SQLAlchemy 作为 ORM),我正在实现一个需要用户注册和登录的网站,注册后我希望用户自动登录在,为此我使用了:
# storing id in session
rows = db.execute("SELECT * FROM users WHERE username = :username ",
{"username": request.form.get("username")})
session["user_id"] = rows[0]["id"]
# Redirect user to home page
return redirect("/")
但它会给出如下错误:
TypeError: 'ResultProxy' object does not support indexing
所以我不知道该怎么做。
这意味着你应该在结果代理上调用fetchall
或fetchone
方法:
rows = db.execute('query').fetchall()
session["user_id"] = rows[0]["id"]