SQLAlchemy 中的
Session
对象是一个数据库会话,它提供了对数据库的持久化操作的高级封装。
Session.add
和
Session.merge
是两种用于将对象添加到会话中的方法。
Session.add
方法将一个新的对象添加到会话中,并将该对象的状态设置为「新建」。当会话被提交时,将执行 INSERT 语句,将对象添加到数据库中。
Session.merge
方法则接受一个对象,并将其与会话中的同一个对象合并。如果会话中存在与该对象相同的对象,则将更新会话中的对象的属性。如果会话中不存在与该对象相同的对象,则将新对象添加到会话中。当会话被提交时,将执行 INSERT 或 UPDATE 语句,将对象的修改同步到数据库中。
总的来说,如果想要添加一个新的对象到会话中,应使用
Session.add
方法。如果想要将对象与会话中已有的对象合并,则应使用
Session.merge
方法。