我正在将PostgreSQL与Python结合使用(使用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
所以我被困住了。
答案 0 :(得分:0)
这意味着您应该在结果代理上调用fetchall
或fetchone
方法:
rows = db.execute('query').fetchall()
session["user_id"] = rows[0]["id"]