安装anaconda安全数据库.session.commit()

安装anaconda安全数据库.session.commit(),anaconda,flask-sqlalchemy,Anaconda,Flask Sqlalchemy,我注意到,当我安装anaconda时,它使用db.session.commit破坏了我的所有更新。然而,它会暂停添加记录。我使用merge找到了一种解决方法,但我没有足够的经验来解决一些场景 在安装anaconda之前,以下各项将起作用: u = Users.query.get(1) u.name = 'John Doe' db.session.commit() 安装anaconda后,我必须使用以下工具: u = Users.query.get(1) u.name = 'John Doe'

我注意到,当我安装anaconda时,它使用db.session.commit破坏了我的所有更新。然而,它会暂停添加记录。我使用merge找到了一种解决方法,但我没有足够的经验来解决一些场景

在安装anaconda之前,以下各项将起作用:

u = Users.query.get(1)
u.name = 'John Doe'
db.session.commit()
安装anaconda后,我必须使用以下工具:

u = Users.query.get(1)
u.name = 'John Doe'
db.session.merge(u)
db.session.commit()
usr = Users.query.filter_by(email = 'xzy@gmail.com').first()
cusr = Users.query.filter_by(email = 'xzy@yahoo.com').first()
cusr.unfollow(usr)
db.session.commit()
现在,我的问题来了。这是my models.db(根据我的目的调整flask mega教程)

但是,我找不到适用于以下内容的语法:

u = Users.query.get(1)
u.name = 'John Doe'
db.session.merge(u)
db.session.commit()
usr = Users.query.filter_by(email = 'xzy@gmail.com').first()
cusr = Users.query.filter_by(email = 'xzy@yahoo.com').first()
cusr.unfollow(usr)
db.session.commit()

理想情况下,我可以找出破坏更新的原因,并在某个地方设置配置,但我一直无法找到答案。一个可行的替代方案是上述代码的解决方案。

尝试在提交前使用db.session.add:

db.session.add(u)
db.session.commit()

我对这个解决方案感到有点害羞,但无论如何我都会发布它(而不是我自己创造了这个问题)。似乎更新没有进入会话。当我最初创建这个项目时,我的脚被蓝图弄湿了,我遇到了一个无法解决的错误。我在models.py中添加了
db=SQLAlchemy()。显然,我还将其添加到了我的主init.py中。所以基本上我有两节课。我从models.py中删除了它,一切正常。我在两个不同的文件(我的init.py和我的m9dels.py)中有
db=SQLAlchemy()。