Session.bulk_save_objects()对于您的用例来说,API的级别太低了,它会保留多个模型对象
及其关系 。该文档对此很明确:
警告
批量保存功能允许以较低的延迟对行进行INSERT / UPDATE,而以大多数其他工作单元功能为代价。诸如对象管理, 关系处理
和SQL子句支持之类的功能被无 提示地省略了 ,而有利于记录的原始INSERT / UPDATES。使用此方法之前,请阅读批量操作中的警告列表,并全面测试并确认使用这些系统开发的所有代码的功能。
您应该用来
Session.add_all()向会话添加实例集合。它将一次处理一个实例,但这就是您需要为高级功能(如关系处理)支付的价格。
所以,代替
session.bulk_save_objects(showtime_lists)session.commit()
做
session.add_all(showtime_lists)session.commit()



