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

Spec-Zone.ru

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