Spec-Zone.ru › Django 5.1

Как интегрировать Django с устаревшей базой данных

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

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

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

Укажите Django параметры вашей базы данных

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

  • NAME
  • ENGINE
  • USER
  • PASSWORD
  • HOST
  • PORT

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

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

$ python manage.py inspectdb

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

$ python manage.py inspectdb > models.py

Эта функция предназначена как сокращение, а не как окончательная генерация модели. См. documentation of inspectdb для получения дополнительной информации.

После того, как вы очистите свои модели, назовите файл models.py и поместите его в пакет Python, который содержит ваше приложение. Затем добавьте приложение в настройку 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 и соответствующим образом отредактируйте файл моделей.

© Django Software Foundation and individual contributors
Licensed under the BSD License.
https://docs.djangoproject.com/en/5.1/howto/legacy-databases/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API