在Django中,我如何影响与数据库的连接过程?

时间:2019-04-04 21:17:19

标签: django python-3.x django-models

更改django与数据库(即MySQL)连接方式的最佳方法是什么?

例如,如果我需要django通过ssh隧道连接到数据库,该隧道的设置可能会动态更改,该怎么办? (我打算使用sshtunnel

我了解我应该sub-class django.db.backends.mysql.base.DatabaseWrapper,并且可能super() /修改get_new_connection(self, conn_params)吗? (请参见下面的示例)

但是接下来,我将如何在设置中提交此自定义class,因为似乎设置期望使用模块而不是类的路径?

行中的内容:

class myDatabaseWrapper(DatabaseWrapper):
    """Oversimplified example."""
    def get_new_connection(self, conn_params):
        with open('path/to/json.js', 'rt') as file: 
            my_conn_params = json.load(file)
        conn_params.update(my_conn_params) 
        return super().get_new_connection(my_conn_params)

0 个答案:

没有答案