【发布时间】:2019-05-07 09:52:27
【问题描述】:
我们想从settings.py连接一个远程现有数据库,我们可以直接使用模型使用这些表而不是从应用程序迁移。
我们知道遗留数据库连接,但 inspect.db 命令总是要求迁移连接的数据库。
是否使用mysql连接器更好或不标准,请提出建议。
谢谢,感谢您的帮助!
【问题讨论】:
标签: django-models django-database mysql-connector-python
我们想从settings.py连接一个远程现有数据库,我们可以直接使用模型使用这些表而不是从应用程序迁移。
我们知道遗留数据库连接,但 inspect.db 命令总是要求迁移连接的数据库。
是否使用mysql连接器更好或不标准,请提出建议。
谢谢,感谢您的帮助!
【问题讨论】:
标签: django-models django-database mysql-connector-python
我认为您正在寻找的是模型中的 managed 元选项。当你定义你的模型时,默认情况下你有managed=True。如果你想在没有 Django 干扰迁移的情况下使用现有数据库,你应该使用 managed=False。
参见文档的this part:
[...] 如果
False,则不会对该模型执行任何数据库表创建或删除操作。如果模型表示现有表或已通过其他方式创建的数据库视图,这将很有用。这是managed=False时的唯一区别。模型处理的所有其他方面与正常情况完全相同。 [...]
【讨论】: