我正在编写一个Django应用程序,我已经在settings.py中配置了1个mysql后端数据库。
我知道我们可以根据需要添加尽可能多的数据库配置,但那是我不想要的hard coding
...而不是我不得不这样做,因为我必须大声连接说,大约70 -80种不同的远程机器,查询并获取结果。
我计划通过他们的IP address
连接到这些机器。
我对Django
比较陌生,所以我想知道我们是否能以某种方式,通过输入以下配置来创建一个查询机器的function
:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'dbName',
'USER': 'root',
'PASSWORD': 'root',
'HOST': '',
'PORT': '3306'
}
}
因此,我可以通过DATABASES and default
或其他东西配置我的函数来改变配置,而不是Ajax call
。
幸运的是,我必须连接的每台机器都使用mysql
,所以没问题。
我调查this mysql -python connector但不确定是否应该使用它,因为我已经安装了MySQLDb
。我也必须做一些raw queries
:|
有人能引导我找出适合这种情况的最佳方法吗?
P.S:我还看了this post,讨论了从本地连接到远程mysql机器的问题。但这对我没有帮助:( :(
答案 0 :(得分:1)
我相信你可以采取很多途径,其中3条是:
使用using
添加DATABASES
中的所有连接 - 您说您不想这样做,因为您有这么多的连接
您可以使用python的mysql库进行连接。如果你这样做,我认为你不会使用djangos nice ORM
看看django如何包装连接以允许您使用他们的ORM。我做了一些关于使用django ORM手动建立连接的快速搜索,但没有找到任何东西。所有答案都在source code。我相信您可以使用ORM实例化您自己的连接并与远程数据库进行交互。我现在没有时间仔细研究,但一切都在源头