考虑一个简单的数据库,其中表a
与表b
和c
具有一对多的关系,在SQLAlchemy中表示。
在我的应用程序中,在代码执行开始时,我创建了与表A
对应的a
对象,然后我想填充表b
和{ {1}}通过在并行线程中创建和提交c
和B
个对象。然而,这是有问题的:
C
SQLite objects created in a thread can only be used in that same thread
为每个帖子创建一个新会话时,因为scoped_session
和A
/ B
个对象之间的关系导致{{ 1}} / C
已分配到B
的会话,我收到以下异常:
C
那么所需的解决方案是什么?让我们假设我不能简单地等到两个工作完成后再提交A
对象sqlalchemy.exc.InvalidRequestError: Object '<B at 0x1e68229b780>' is already attached to session '1' (this is '2')
和A
。
B