处理SQLAlchemy中的重复项

时间:2015-07-23 20:00:01

标签: python sql sqlalchemy

我正在使用SQLAlchemy将数据从Python写入SQL中的数据库。我使用下面的代码将其中一个表的内容写入SQL,这将为我提供第一个表Table 1的主键,我在为下一个表写入数据时使用{{1}因为Table 2的外键被映射到Table 2。但是,我现在正在编写一个函数来防止重复数据写入这些表,如果我再次运行脚本。

Table 1

因此,处理重复项的代码如下所示。 但是,我不确定如何从Base.metadata.create_all(engine, checkfirst=True) Session = sessionmaker(bind=engine) session = Session(bind=engine, expire_on_commit=False) # Writing data into Table 1 session.add_all([ Table1(name = 'Euro'), Table1(name = 'Fed'), Table1(name = 'Aus'), Table1(name = 'BOE'), Table1(name = 'Canada')]) session.flush() session.commit() session = Session(bind=engine, expire_on_commit=False) #Obtaining the primary keys for Table 1 listofindices = [] for row in session.query(Table 1): listofindices.append(row.id) 获取主键,同时防止将重复数据写入

Table 1

0 个答案:

没有答案