В файле settings.py отредактируйте этот код (для нескольких баз данных)
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'django',
'USER': 'postgres',
'PASSWORD': '12345678',
'HOST': 'localhost',
'PORT': '5432',
},
'connection_other_db': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mi_db',
'USER': 'root',
'PASSWORD': 'root',
'HOST': 'localhost',
'PORT': '3306',
}
}
Применить команду миграции:
Для базы данных по умолчанию
$ ./manage.py migrate
Для другой базы данных (connection_other_db)
$ ./manage.py migrate --database=connection_other_db
В ваших представлениях, Для использования ORM используйте это:
Mi_Model.objects.using('connection_other_db').all() # For mysql database
Mi_Model.objects.all() # For default database (postgresql)
Для создания объекта:
s = Mi_Model()
s._state.adding = False
s._state.db = 'connection_other_db'
s.field_1 = 'A value'
s.save()
или
s = Mi_Model.objects.using('connection_other_db').create(
field_1='A value'
# ....
)
Для транзакций использования:
with transaction.atomic(using='connection_other_db'):
# Your code here
Для использования курсоров
with connections['connection_other_db'].cursor() as cursor:
cursor.execute('your query')
Документация Django: https://docs.djangoproject.com/es/2.1/topics/db/multi-db/