Как получить доступ к таблицам удаленной базы данных в Django?

Я обращаюсь к удаленной базе данных в моем проекте Django следующим образом:

settings.py

DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.sqlite3',
    'NAME': BASE_DIR / 'db.sqlite3',
},
'remote_db' : {
    'ENGINE': 'django.db.backends.sqlite3',
    'NAME': 'db_name',
    'USER': 'db_user',
    'PASSWORD': 'db_password',
    'HOST': '192.*.*.*',
    'PORT': '1433',

}

}

Для доступа к данным таблицы базы данных по умолчанию я использую следующий синтаксис:

from app_name.models import mymodel

mymodel.objects.all()

В моей удаленной базе данных есть такие таблицы, как reports, emplayee_data и т.д., которые уже существуют, а в моем проекте нет моделей, определенных для этих таблиц. Мне нужно получить доступ к этим таблицам, и я не знаю, как выполнить это действие.

remote_db.reports.all()

Я думаю, что в этом проекте необходимо также определить модели для отчетов и employee_data.

И затем вы можете использовать их следующим образом:

reports.objects.using('remote_db').all()

Вы упомянули, что для таблиц не определены модели. Я думаю, что хорошим вариантом будет создание скрипта для получения данных из remote_db и добавления их в default. Для этого вам придется использовать необработанный SQL, если вы не создадите модели для этих таблиц. Другим вариантом может быть получение дампа remote_db и импорт его в базу данных default.

Вернуться на верх