繁体   English   中英

flask sqlalchemy 不更新行

[英]flask sqlalchemy doesn't update rows

我正在使用带有本地托管 postgresql 的 Flask-SQLAlchemy,并且我有此代码,我应该在他登录后更新数据库中的用户数据

    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 --->

#1: userid:1

#2: x.sid:QKfGvdsL-HGUM-FHHYF, request.sid:QKfGvdsL-HGUM-FHHYF

但是当我稍后查看 pgadmin4 或请求 x.sid 的值时,它总是“空”

我到处看了看,似乎每个人都建议我用同样的方式编写代码。

值得一提:

  1. sid column已使用 flask.migrate 添加,尚未使用表创建。
  2. 只是为了确保我的代码中没有任何内容覆盖值后记,pgadmin4 将 null 覆盖为独特的东西并且它保持不变,它的值没有发生任何变化。
  3. 我尝试使用db.session.add(x)但它一直说数据信息已经存在

你可以试试:

db.session.merge(x)
db.session.commit()

此代码创建一个新行,如果它不存在,则更新现有行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM