3

我正在编写一个 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,所以没有问题。我查看了这个 mysql -python 连接器,但不确定是否应该使用它,因为我已经MySQLDb安装了它。我也必须做一些raw queries:|

谁能指导我解决这种情况的最佳方法是什么?

PS:我也看过这篇文章,它讨论了从本地连接到远程 mysql 机器。但这对我没有帮助:( :(

4

1 回答 1

2

我相信你可以走很多路,其中3条是:

  1. 添加你所有的连接DATABASES使用using- 你说你不想这样做,因为你有这么多的连接

  2. 您可以使用 python 的 mysql 库进行连接。如果你这样做,我认为你不会使用 djangos nice ORM

  3. 看看 django 如何包装连接以允许您使用他们的 ORM。我做了一些关于使用 django ORM 手动建立连接的快速搜索,但没有找到任何东西。所有答案都在源代码中。我相信您可以只实例化您自己的连接并使用 ORM 与您的远程数据库进行交互。我现在没有时间看它,但一切都在他们的源头

于 2013-04-24T22:53:44.753 回答