Как получить доступ к таблицам удаленной базы данных в 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.