Spec-Zone.ru › Django 1.11

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

Spec-Zone.ru

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