首页 > 解决方案 > 使用 Django ORM 连接两个以上的数据库,一个数据库是遗留数据库,无需迁移到应用程序中

问题描述

我们想从 settings.py 连接一个远程现有数据库,我们可以直接使用这些表使用模型而不从应用程序迁移。

我们知道遗留数据库连接,但 inspect.db 命令总是要求迁移连接的数据库。

最好使用mysql连接器还是不标准,请建议。

谢谢,感谢您的帮助!

标签: django-modelsdjango-databasemysql-connector-python

解决方案


我认为您正在寻找的是managed模型中的元选项。当你定义你的模型时,默认情况下你有managed=True. 如果你想使用现有的数据库而不需要 Django 干扰迁移,你应该使用managed=False.

请参阅文档的这一部分

[...] 如果False,则不会为此模型执行任何数据库表创建或删除操作。如果模型表示现有表或已通过其他方式创建的数据库视图,这将很有用。这是 时的唯一区别managed=False。模型处理的所有其他方面与正常情况完全相同。[...]


推荐阅读