【问题标题】:Connect with more than two databases using Django ORM, one database is legacy database without migrate into app使用 Django ORM 连接两个以上的数据库,一个数据库是遗留数据库,无需迁移到应用程序中
【发布时间】:2019-05-07 09:52:27
【问题描述】:

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

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

是否使用mysql连接器更好或不标准,请提出建议。

谢谢,感谢您的帮助!

【问题讨论】:

    标签: django-models django-database mysql-connector-python


    【解决方案1】:

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

    参见文档的this part

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

    【讨论】:

      猜你喜欢
      • 2019-12-01
      • 2016-08-27
      • 2014-12-04
      • 1970-01-01
      • 1970-01-01
      • 2018-03-04
      • 2020-03-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多