Python sqlalchemy 一次插入数据到多个表

Python Sqlalchemy insert Data into multiple tables at once

我有多个定义相同的表,我需要在每个表中添加相同的数据。我想创建一个列表并使用它来添加数据。

现在:

test1 = Data_1(Test = Test)
session.add(test1)

test2 = Data_2(Test = Test)
session.add(test2)

test3 = Data_3(Test = Test)
session.add(test3)

session.commit()

我想要的:

Sql_Data = (Test = Test) # What could i use?

test1 = Data_1(Sql_Data)
session.add(test1)

test2 = Data_2(Sql_Data)
session.add(test2)

test3 = Data_3(Sql_Data)
session.add(test3)

session.commit()

感谢您的帮助:)

您可以将所有数据存储在字典中并从中构建您的实例:

data = {'Test': 'Test'}

classes = [Data_1, Data_2, Data_3]

to_insert = [class_(**data) for class_ in classes]
session.add_all(to_insert)
session.commit()