是否有可能从数据库中生成Django模型?
我一直在与Django和Django ORM在家里搞混,我不得不说,我觉得这是在易用性方面最好的之一。
但是,我想知道是否有可能在“反向”使用它。
基本上我想要做的是从现有的数据库模式(从不使用django,是相当古老的项目)生成Django模型。
这可能吗?
更新:有问题的数据库是Oracle
是的,使用inspectdb
命令:
inspectdb
反思DATABASE_NAME设置指向的数据库中的数据库表,并将Django模型模块(models.py文件)输出到标准输出。
如果你有一个你想使用Django的遗留数据库,请使用它。 该脚本将检查数据库并为其中的每个表创build一个模型。
正如您所预料的那样,创build的模型将具有表中每个字段的属性。 请注意,inspectdb在其字段名称输出中有一些特殊情况:
[…]
(Django 1.7.1)简单地运行python manage.py inspectdb
将为数据库中的所有表创build类,并在控制台上显示。
$ python manage.py inspectdb
使用标准的Unix输出redirect将其保存为文件:
$ python manage.py inspectdb > models.py
(这对我和mysql和django 1.9都适用)