В Django, как я могу влиять на процесс подключения к БД? - PullRequest
0 голосов
/ 05 апреля 2019

Каков наилучший способ изменить способ подключения 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...