SQLAlchemy:如何多次创建动态列

时间:2018-12-17 00:27:43

标签: python sqlalchemy database-metadata

由于python类的反思,我成功创建了一个动态定义列的sql表。 但是我不能多次运行该代码。 例如,以下 import_file 应当创建一个静态表和一个带有特定列的动态表。 如果我运行一次,它将起作用。但是第二次它崩溃并返回以下错误:

def attack (self, enemy):
    self.player = [self]
    if self.player[3] == enemy[3]:

代码示例:

Table 'dynamic' is already defined for this MetaData instance

我尝试使用 sqlalchemy.orm.clear_mappers ,但未成功。 知道如何解决吗?

1 个答案:

答案 0 :(得分:0)

我认为您的代码不完整,因为 Base.metadata

上存在冲突

orm类和表上的链接映射器,您已经定义了表。

您可以尝试这样的想法

import_file("test.db", columns = ["age","test"])
Base.metadata.clear()
sqlalchemy.orm.clear_mappers()
import_file("test2.db", columns= ["id","age","foo","bar"])
相关问题