首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQLAlchemy add与add_all

SQLAlchemy add与add_all
EN

Stack Overflow用户
提问于 2021-01-11 03:48:53
回答 2查看 2.2K关注 0票数 6

我试图弄清楚什么时候使用session.add,什么时候在SQLAlchemy中使用session.add_all

具体来说,我不理解使用add_all的缺点。它可以完成add所能做的一切,那么为什么不一直使用它呢?在SQLalchemy 文档中没有提到这一点。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-04-18 11:03:54

如果您只有一条新记录要添加,那么使用sqlalchemy.orm.session.Session.add(),但是如果您有多条记录,则使用sqlalchemy.orm.session.Session.add_all()。除了第一个方法的API适用于单个实例,而第二个方法用于多个实例之外,没有什么明显的区别。这有很大的区别吗?不是的。只是方便而已。

票数 3
EN

Stack Overflow用户

发布于 2021-09-01 15:30:13

我想知道同样的事情,正如其他人所提到的,没有真正的区别。但是,我想补充的是,在循环中使用add,而不是使用add_all,可以使您在异常处理方面获得更细粒度。将映射的类实例列表传递给add_all将导致所有实例的回滚,例如,如果其中一个对象违反了约束(例如,唯一的)。我更喜欢将数据逻辑与服务逻辑分离开来,并通过从数据层返回未存储在服务层中的实例来决定如何处理它们。但是,我认为这取决于您如何处理异常。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65661108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档