PostgreSQL:如何在会话中存储ID

时间:2018-06-26 04:30:01

标签: postgresql flask flask-sqlalchemy heroku-postgres adminer

我正在将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  

所以我被困住了。

1 个答案:

答案 0 :(得分:0)

这意味着您应该在结果代理上调用fetchallfetchone方法:

rows = db.execute('query').fetchall()
session["user_id"] = rows[0]["id"]