python – 在Flask中动态创建和保存模型 – Sqlalchemy
发布时间:2020-12-20 13:42:44 所属栏目:Python 来源:网络整理
导读:我正在写一个烧瓶webapp.我需要能够基于用户输入创建模型并基于模型创建表.此外,我还希望以后能够使用该模型(在重新启动Web服务器之后).这样做的最佳方式是什么? 我正在使用带有sqlalchemy的烧瓶进行ORM. 解决方法 你将有很多动态查询man. 你见过 INFORMATI
我正在写一个烧瓶webapp.我需要能够基于用户输入创建模型并基于模型创建表.此外,我还希望以后能够使用该模型(在重新启动Web服务器之后).这样做的最佳方式是什么?
我正在使用带有sqlalchemy的烧瓶进行ORM. 解决方法
你将有很多动态查询man.
你见过 基本上,您将使用它们或在数据库中创建这些表的克隆. 然后,您将从这些表中读取信息,以动态执行以下操作: from sqlalchemy import Table,Column,Integer,String,MetaData,ForeignKey def make_metadata(source): ... return MetaData(...) def make_column(column_definition): return Column(....) all_table_definitions = ... # array of records from your custom_tables all_column_definitions = ... # map of table name to array of column definition for your tables from custom_columns my_tables = {} for t in all_table_definition: columns = [make_column(c) for c in all_column_definitions[t.name]] new_table = Table(t.table_name,make_metadata(t.metadata),columns*) 之后,您将拥有包含所有表的描述的数组all_table_definitions和包含ORM表对象的my_tables以查询数据 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |