gpt4 book ai didi

Python SqlAlchemy 实用生成表类

转载 作者:太空宇宙 更新时间:2023-11-04 06:00:27 24 4
gpt4 key购买 nike

给定一个表名列表,我试图以编程方式生成 SqlAlchemy 数据库表类。这是我所做的:

def generate_table_class_list(engine):
base = declarative_base(engine)
table_names = ['table_a', 'table_b']
table_classes = dict()
for table in table_names:
table_classes[table] = generate_table_class(table)
return table_classes

def generate_table_class(base, table_name):
return type(table_name, (base,), dict(__tablename__ = table_name,
__table_args__ = {'autoload' : True}))

当我运行 generate_table_class_list(engine) 时,我收到以下错误消息:

/opt/packages/sqlalchemy/engine/result.pyc in first(self)
829 try:
830 if row is not None:
--> 831 return self.process_rows([row])[0]
832 else:
833 return None

/opt/packages/sqlalchemy/engine/result.pyc in process_rows(self, rows)
759 else:
760 return [process_row(metadata, row, processors, keymap)
--> 761 for row in rows]
762
763 def fetchall(self):

TypeError: row must be a sequence

我之前使用相同版本的 sqlalchemy 使用类似的脚本来执行此操作并且它有效。但是,这次它不起作用。

感谢任何帮助。提前致谢。

最佳答案

经过几天的研究和测试,我弄明白了。当我创建引擎时,我将游标类设置为 SSDictCursor。当我切换到 SSCursor 时,它对我来说工作正常,尽管我仍然不明白为什么 SSDictCursor 会破坏我的代码。

关于Python SqlAlchemy 实用生成表类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25375425/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com