Django管理已存在的数据库

当我们使用Django时,一般都是根据定义的模型来生成数据库,也就是先创建Django项目,再创建的数据库。当反过来,先有数据库,后才有Django项目时,该如何处理呢?

直觉反应是,根据数据库中每个表,自己去定义模型。

其实,django提供了了python manage.py inspect命令,可以根据模型来生成model。这样即可以保证比人工定义准确,也能够节省巨量时间(我平常连定义model都觉得费劲)。

详细内容可参见 Integrating Django with a legacy database

另外要提及的是,我需要根据远程POSTGRE SQL数据库来生成model。可能需要指定schema文件,在settings.py中的DATABASES中添加OPTIONS选项即可,具体配置如下图所示:
options

0%