【问题标题】:Making updates to postgresql record using sqlalchemy in a flask application在烧瓶应用程序中使用 sqlalchemy 更新 postgresql 记录
【发布时间】:2021-12-25 03:08:47
【问题描述】:

我能够将记录插入数据库:

new_user = Users(new_register_email, new_password, verification_code)
db.session.add(new_user)
db.session.commit()

我可以查询从数据库中插入的记录:

 user_to_verify = Users.query.filter_by(email=uid).first()

我无法更新记录:

 user_to_verify = Users.query.filter_by(email=uid).first()
 if user_to_verify:
    if user_to_verify.verification_code == returned_verification_code:
        user_to_verify.verified = True
        db.session.commit()

通过调试,我正在验证上面列出的代码是否已运行,但数据库中的已验证字段未更新。这是这里的休闲信息https://www.tutorialspoint.com/sqlalchemy/sqlalchemy_orm_updating_objects.htm

更新: 应发生更新的调试器图像

【问题讨论】:

  • 这是:user_to_verify.verification_code == returned_verification_code 返回True
  • 是的,我在调试器中单步执行,代码正在被命中
  • Postgres 服务器日志中显示了什么?
  • 让我弄清楚如何找到 Postgres 日志,然后我会添加它们。感谢您的帮助
  • 日志文件夹是空的....可能需要我一点时间来弄清楚如何打开/打开日志记录

标签: python postgresql flask sqlalchemy flask-sqlalchemy


【解决方案1】:

我不确定这是否有效,但它似乎有效, 补充:

db.session.merge(user_to_verify)

在提交之前 我在这里找到了这个解决方案: Flask-SQLalchemy update a row's information

如果这是无效或不好的做法,请纠正我,谢谢!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-12
    • 1970-01-01
    • 2020-05-05
    • 2020-08-18
    相关资源
    最近更新 更多