Как интегрировать django с существующей базой данных Postgres
Чтобы использовать существующую базу данных в Django, необходимо иметь модель для каждой таблицы. Но создавать модели для существующих таблиц вручную - это слишком много работы. Однако в этом нет необходимости, поскольку Django имеет встроенный инструмент для решения именно этой проблемы.
Ссылка на статью здесь: how-to-integrate-django-with-existing-database
Редактирование settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': '<name>',
'USER': '<user>',
'PASSWORD': '<password>',
'HOST': '<host>',
'PORT': '<port>',
}
}
Сгенерируйте модели для связанных существующих таблиц базы данных.
python manage.py inspectdb > models.py
Настройте таблицы в соответствии с вашими предпочтениями. Скопируйте все таблицы и добавьте их в файл models.py
вашего приложения.Теперь создайте начальные миграции для существующих таблиц
python manage.py makemigrations
Запустите команду migrate для применения миграций, используйте опцию --fake-initial, которая применит миграции там, где это возможно, и пропустит миграции, где таблицы уже есть:
python manage.py migrate --fake-initial
На этом этапе любые новые изменения в структуре модели и последующие миграции будут работать так, как если бы Django управлял базой данных с самого начала
Спасибо: Дима Книвец