Python Django:以编程/动态方式创建数据库表

Python Django:以编程/动态方式创建数据库表,python,mysql,django,database,django-south,Python,Mysql,Django,Database,Django South,我已经在Django应用程序上工作了一段时间,遇到了动态模型和数据库表生成的需求。我已经搜索了很多地方,DjangoAPI似乎没有包含这个函数。从我收集的信息来看,有一个函数可以实现这一点(即south.db.create_table)。然而,从我从South的发行说明中收集到的信息来看,South与Django 1.7及更高版本不兼容,我的项目是使用Django 1.9构建的 我已经编写了一个脚本,用于创建要使用以下方法迁移到数据库的模式的模型实例: attrs = {'__module__'

我已经在Django应用程序上工作了一段时间,遇到了动态模型和数据库表生成的需求。我已经搜索了很多地方,DjangoAPI似乎没有包含这个函数。从我收集的信息来看,有一个函数可以实现这一点(即south.db.create_table)。然而,从我从South的发行说明中收集到的信息来看,South与Django 1.7及更高版本不兼容,我的项目是使用Django 1.9构建的

我已经编写了一个脚本,用于创建要使用以下方法迁移到数据库的模式的模型实例:

attrs = {'__module__':model_location, 'Meta':Meta}
model = type(table_name, (models.Model,), attrs)
p、 请注意,这不是上述脚本的全部内容。如果您认为这将是有益的,我提供我可以添加它的要求

有人找到了将South 1.0.2与Django 1.9结合使用的变通方法吗?如果没有人对我如何在没有South的情况下实现此功能有任何想法的话?我曾尝试过其他方法(而不是动态生成表),但考虑到我的项目范围,这似乎能提供最简洁、最清晰的结果


谢谢大家!

South与Django最新版本不兼容的原因是它从Django 1.7开始就以“迁移”的名义出现了。如果您正在寻找类似的功能,那么起点将是。您可能特别感兴趣的部分是


如果您希望避免使用迁移模块,也可以。

谢谢您的快速回复!我正在调查两者。然而,出于安全原因,我希望避免原始SQL查询。