我有以下示例表:
class DestDB(Base):
__tablename__ = "dest_db"
__table_args__ = (Index('nameplace', "name", "place"))
id = Column(Integer, primary_key=True)
name = Column(String(100))
place = Column(String(100))
我很习惯使用字典来添加记录。例如:
dict = {"name": "foo", "place": "bar"}
session.add(DestDB(**dict))
但是,如何将记录从一张表转移到另一张表?我想我可以查询源表,遍历每条记录,将其转换成字典,然后添加上面的结果。但是,我确定必须有一个更简洁的解决方案?
源数据库中会有重复的name和place记录组合,所以我不想使用任何类型的批量操作,除非它不会插入任何重复记录。
假设源数据库如下所示:
class SourceDB(Base):
__tablename__ = "source_db"
id = Column(Integer, primary_key=True)
name = Column(String(100))
place = Column(String(100))
我只想传输name和place字段。
智慧大石
相关分类