django-models - 使用 Django ORM 连接两个以上的数据库,一个数据库是遗留数据库,无需迁移到应用程序中
问题描述
我们想从 settings.py 连接一个远程现有数据库,我们可以直接使用这些表使用模型而不从应用程序迁移。
我们知道遗留数据库连接,但 inspect.db 命令总是要求迁移连接的数据库。
最好使用mysql连接器还是不标准,请建议。
谢谢,感谢您的帮助!
解决方案
我认为您正在寻找的是managed
模型中的元选项。当你定义你的模型时,默认情况下你有managed=True
. 如果你想使用现有的数据库而不需要 Django 干扰迁移,你应该使用managed=False
.
请参阅文档的这一部分:
[...] 如果
False
,则不会为此模型执行任何数据库表创建或删除操作。如果模型表示现有表或已通过其他方式创建的数据库视图,这将很有用。这是 时的唯一区别managed=False
。模型处理的所有其他方面与正常情况完全相同。[...]
推荐阅读
- java - 使用 Java8 过滤两个列表
- plsql - 在 PL/SQL 中实现 Data Vault 的更新算法
- iis - 如何禁用在 applicationHost.config 或 web.config 中未设置的 Http 响应标头?
- spss - 如何使用 SPSS 语法使用变量值来命名文件?
- python - python psutil.cpu_count() 返回错误的 cpu 数量
- javascript - AngularJS范围变量不能在超时内设置
- r - R中函数中时间序列对象的调用列表
- java - Java 8:如何使用正则表达式列出与模式不匹配的文件
- php - 如果用于具有多个属性的选择,为什么 filter_input 返回一个空字符串?
- javascript - 箭头函数(它是一个参数)如何接受 x 的值作为 1 并返回它?