Каков наилучший способ изменить способ подключения 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)