2024-09-29 23:15:42 发布
网友
我想把我的djangapp连接到外部MySQL数据库。 我不想迁移到这个表,我的意思是我不想创建新表,只需要拉取数据。 我的问题是-怎么做? 如果将此表添加到设置文件中的数据库,则控制台将显示有关强制迁移的错误。在
你能给我推荐什么? 提前谢谢你
你可以用这个连接到外部数据库
settings.configure( DATABASE_ENGINE = 'mysql', DATABASE_NAME = 'db_name', DATABASE_USER = 'db_user', DATABASE_PASSWORD = 'db_pass', DATABASE_HOST = 'http://YourDataBaseAdress.com/mydatabase', DATABASE_PORT = '6676', TIME_ZONE = 'America/Sao_Paulo',) //if you want to connect this forever add this 'CONN_MAX_AGE': None,
不用迁移你也能做到
对于从外部数据库提取数据,您可以看到here
在这种情况下,我建议使用两个数据库。第一个可以使用标准的sqllitedb,并将用于存储登录数据和管理相关的东西。在
如果要为遗留数据库创建类定义,可以使用python manage.py inspectdb > mysql_models.txt。这还会将managed=False添加到模型类meta中,并使django对丢失的迁移闭嘴。在
python manage.py inspectdb > mysql_models.txt
强制迁移警告是:警告。您不必应用迁移。在
文件: https://docs.djangoproject.com/en/1.11/topics/db/multi-db/
在开始使用遗留数据库之前,有一个警告:检查它是否与django orm兼容。有些数据库特性(如复合主键)不能与django orm一起使用。在
您可以通过DATABASES设置连接到该数据库。实际上,迁移错误只是一个警告。您可以通过managed到False来完成。在
DATABASES
managed
False
class MyModel(models.Model): field1 = models.CharField() ... class Meta: managed = False
更多info
你可以用这个连接到外部数据库
不用迁移你也能做到
^{pr2}$在你的特定模型中
对于从外部数据库提取数据,您可以看到here
在这种情况下,我建议使用两个数据库。第一个可以使用标准的sqllitedb,并将用于存储登录数据和管理相关的东西。在
如果要为遗留数据库创建类定义,可以使用
python manage.py inspectdb > mysql_models.txt
。这还会将managed=False添加到模型类meta中,并使django对丢失的迁移闭嘴。在强制迁移警告是:警告。您不必应用迁移。在
文件: https://docs.djangoproject.com/en/1.11/topics/db/multi-db/
在开始使用遗留数据库之前,有一个警告:检查它是否与django orm兼容。有些数据库特性(如复合主键)不能与django orm一起使用。在
您可以通过
DATABASES
设置连接到该数据库。实际上,迁移错误只是一个警告。您可以通过managed
到False
来完成。在更多info
相关问题 更多 >
编程相关推荐