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  

所以我不知道该怎么做。

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

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