• 3.1
  • 3.2
  • 5.0
  • Версия документации: 6.1

Интеграция Django с существующей базой данных

Несмотря на то, что Django нацелена на разработку новых приложений, довольно несложно подключить к ней базу данных, унаследованную от другого проекта. Django предоставляет ряд утилит для автоматизации данного процесса, насколько это возможно.

Этот документ предполагает, что вы знакомы с основами Django, которые описаны в учебнике

После настройки Django следуйте стандартному процессу для интеграции с существующей базой данных.

Предоставьте Django параметры вашей базы данных

Вам потребуется указать параметры соединения с вашей базой данных и её имя. Делается это редактированием параметра DATABASES, указав значения для следующих ключей соединения 'default':

Автоматическая генерация моделей

Django представляет утилиту inspectdb, которая может создавать модели по существующей базе данных. Вы можете посмотреть результат, запустив следующую команду:

$ python manage.py inspectdb

Сохраните его в файл, используя стандартный механизм перенаправления Unix:

$ python manage.py inspectdb > models.py

Обратитесь к документации на inspectdb для подробностей.

После приведения моделей в нормальный вид, сохраните их в файле models.py, разместив его в пакете, который хранит ваше приложение. Затем добавьте ваше приложение в INSTALLED_APPS.

По умолчанию inspectdb создает модели с managed = False в классе Meta. Это указывает Django не управлять созданием, изменением и удалением таблицей модели:

class Person(models.Model):
    id = models.IntegerField(primary_key=True)
    first_name = models.CharField(max_length=70)

    class Meta:
        managed = False
        db_table = "CENSUS_PERSONS"

Чтобы позволить Django управлять таблицей модели, установите managed в True (или просто удалить её, так как она по умолчанию равна True).

Установка основных таблиц Django

Теперь, запустите команду migrate для добавления в базу данных необходимых записей, таких как права пользователей и типы контента:

$ python manage.py migrate

Тестирование и настройка

Это основные шаги — отсюда вам нужно будет настраивать модели, созданные Django, до тех пор, пока они не будут работать так, как вам хочется. Попробуйте получить доступ к своим данным через API базы данных Django, попробуйте редактировать объекты через сайт администратора Django и соответствующим образом отредактируйте файл моделей.

Back to Top