当我们使用Django时,一般都是根据定义的模型来生成数据库,也就是先创建Django项目,再创建的数据库。当反过来,先有数据库,后才有Django项目时,该如何处理呢?
直觉反应是,根据数据库中每个表,自己去定义模型。
其实,django提供了了python manage.py inspect
命令,可以根据模型来生成model。这样即可以保证比人工定义准确,也能够节省巨量时间(我平常连定义model都觉得费劲)。
详细内容可参见 Integrating Django with a legacy database
另外要提及的是,我需要根据远程POSTGRE SQL数据库来生成model。可能需要指定schema文件,在settings.py
中的DATABASES
中添加OPTIONS
选项即可,具体配置如下图所示: