我将 Flask-SQLAlchemy 与本地托管的 postgresql 一起使用,我有这段代码,我应该在用户登录后更新数据库中的用户数据
user_id = current_user.get_id()
print(f"\n\n user_id: {user_id}\n\n") #1--->
x = users.query.filter_by(id=user_id).first()
x.sid = request.sid
db.session.commit()
print(f'\n\n user_object.sid:{x.sid} , request.sid:{request.sid} \n\n') #2 --->
Run Code Online (Sandbox Code Playgroud)
#1 : userid:1
#2 : x.sid:QKfGvdsL-HGUM-FHHYF, request.sid:QKfGvdsL-HGUM-FHHYF
但是当我查看 pgadmin4 或稍后请求 x.sid 的值时,它总是“空”
我四处看了看,每个人似乎都以与我编写代码的方式相同的方式建议。
值得一提 :
sid column 已使用flask.migrate 添加,尚未与表一起创建。db.session.add(x)但它一直说数据信息已经存在小智 5
你可以试试:
db.session.merge(x)
db.session.commit()
Run Code Online (Sandbox Code Playgroud)
此代码创建一个新行,如果它不存在,则更新现有的行。