使用django生成运行时模型

the*_*row 4 python django django-models

我有一个需要在运行时生成模型的应用程序.
这将根据当前的数据库方案完成.
怎么做到呢?
如何在python中在运行时创建类?
我应该创建一个json表示并将其保存在数据库中,然后将其反序列化为python对象吗?

Dom*_*opa 8

您可以尝试阅读此http://code.djangoproject.com/wiki/DynamicModels

以下是如何创建python模型类的示例:

Person = type('Person', (models.Model,), {
    'first_name': models.CharField(max_length=255),
    'last_name': models.CharField(max_length=255),
})
Run Code Online (Sandbox Code Playgroud)

您还可以阅读有关python元类的信息:
- Python中的元类是什么?
- http://www.ibm.com/developerworks/linux/library/l-pymeta.html
- http://gnosis.cx/publish/programming/metaclass_1.html