postgresql: как хранить id в сессии - PullRequest
0 голосов
/ 26 июня 2018

Я использую 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 голосов
/ 26 июня 2018

Это означает, что вы должны вызвать fetchall или fetchone метод для прокси результата:

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