gpt4 book ai didi

python - Session.add() 不适用于 SqlAlchemy(Python2.7)

转载 作者:太空宇宙 更新时间:2023-11-03 11:52:14 25 4
gpt4 key购买 nike

我正在使用 SqlAlchemy-1.0.9 和 python 2.7。

因此,当我尝试将对象添加到 session 时,没有任何反应,因此数据没有插入到数据库中。顺便说一下,我正在使用 mysql 和 oursql。

部分代码如下:

首先,我创建了一个函数来制作“创建引擎”等...并且每次我想创建 session 时都使用它。

base = declarative_base()

engine = create_engine('mysql+oursql://root:toor@127.0.0.1/pandora', echo=True)

def sessionLoader():
base.metadata.bind = engine
DBSession = sessionmaker(bind=engine)
session = DBSession()
return session

之后,在我的类(class)中我调用了 sessionLoader() 方法:

我创建对象等,然后使用 add() 方法:

newEntity = Entity(name = 'John')

sessionLoader().add(newEntity)

sessionLoader().commit()

在那之后控制台上没有显示任何错误或异常。但是,当我转到数据库并进行一些选择时,那里没有数据。

为了进行测试,我放置了以下代码:

print newEntity in sessionLoader()

它在控制台上显示“False”。

所以“add()”没有做它应该做的工作。

有什么提示或帮助吗?

最佳答案

每次调用 sessionLoader() 时,您都在创建一个新 session 。该代码看起来像是您在一个 session 中创建实体并提交另一个 session 。

关于python - Session.add() 不适用于 SqlAlchemy(Python2.7),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34865920/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com