Spec-Zone.ru › Django 1.8

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

Spec-Zone.ru

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