Адаптируйте существующую базу данных к приложению django - PullRequest
9 голосов
/ 30 октября 2009

У меня есть данные Postgresql с данными. Я хочу создать приложение django с этой базой данных.

Как я могу импортировать таблицы в модели и / или представления Django?

Ответы [ 2 ]

17 голосов
/ 30 октября 2009

Существует утилита под названием manage.py inspectdb для генерации моделей из существующей базы данных. Это работает довольно хорошо.

$ python manage.py inspectdb > models.py
3 голосов
/ 30 октября 2009

Если ваша база данных не очень проста - или не очень хорошо спроектирована - вы найдете ее плохо подходящей для Django.

Хотя реверс-инжиниринг работает хорошо, вы можете обнаружить, что оригинальный дизайн базы данных был некорректен, и у вас есть много неуклюжих обходных путей.

Вопрос касается «устаревшего программного обеспечения», которое работает со старой моделью данных.

Я бы посоветовал вам сделать следующее.

  1. Разработайте правильную модель данных, используя Django.

  2. Отобразите правильную модель на то, что у вас есть.

  3. Напишите скрипт преобразования, который использует простой прямой SQL и Django ORM для переноса данных из не-Django-дружественных в лучшую модель.

    • Если у вас есть устаревшее программное обеспечение, вам придется разработать соответствующий график перемещения данных.

    • Если у вас нет устаревшего программного обеспечения, вы выполните это преобразование один раз.

...