Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在Flask-Sqlalchemy中动态创建和持久化模型_Python_Python 2.7_Flask_Flask Sqlalchemy - Fatal编程技术网

Python 在Flask-Sqlalchemy中动态创建和持久化模型

Python 在Flask-Sqlalchemy中动态创建和持久化模型,python,python-2.7,flask,flask-sqlalchemy,Python,Python 2.7,Flask,Flask Sqlalchemy,我正在写一个烧瓶网络应用程序。我需要能够基于用户输入创建一个模型,并基于该模型创建一个表。此外,我还希望以后能够使用该模型(在重新启动web服务器之后)。这样做的最佳方式是什么 我将flask与sqlalchemy一起用于ORM。您将有很多动态查询 你见过他长什么样吗 基本上,您将使用它们或在数据库中创建这些表的克隆 然后,您将从这些表中读取信息,以便动态执行如下操作: from sqlalchemy import Table, Column, Integer, String, MetaDat

我正在写一个烧瓶网络应用程序。我需要能够基于用户输入创建一个模型,并基于该模型创建一个表。此外,我还希望以后能够使用该模型(在重新启动web服务器之后)。这样做的最佳方式是什么


我将flask与sqlalchemy一起用于ORM。

您将有很多动态查询

你见过他长什么样吗

基本上,您将使用它们或在数据库中创建这些表的克隆

然后,您将从这些表中读取信息,以便动态执行如下操作:

 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_定义
和所有表的说明,以及
my_tables
和ORM table对象以查询数据

请阅读Flask SQLAlchemy文档并询问您是否有更具体的问题。