【发布时间】:2017-03-01 07:37:01
【问题描述】:
我已经在 Django 应用程序上工作了一段时间,并且遇到了动态模型和数据库表生成的需求。我进行了广泛搜索,似乎 Django API 不包含此功能。根据我收集到的信息,South 具有执行此操作的功能(即 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)
附言请注意,这不是上述脚本的全部内容。如果您认为这对我有用,我可以根据要求添加。
有没有人找到将 South 1.0.2 与 Django 1.9 一起使用的解决方法?如果没有,是否有人对我如何在没有 South 的情况下实现此功能有任何想法?我试图考虑替代方法(而不是动态生成表),但这似乎真的会提供最简洁和干净的结果给我的项目范围。
谢谢!
【问题讨论】:
标签: python mysql django database django-south