Spec-Zone.ru › Django 5.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/5.0/howto/legacy-databases/

Spec-Zone.ru

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