Spec-Zone.ru › Django 2.0

Интеграция 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/2.0/howto/legacy-databases/

Spec-Zone.ru

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