Как настроить Django для повторной инициализации и заполнения всей базы данных при запуске?

Предположим, вы работаете с первой версией нового приложения Django и продолжаете добавлять изменения в модели.

Будучи приложением, управляемым данными, вы в основном работаете над настройкой django admin.

В этом случае syncdb не слишком полезен, потому что он не сможет обновить модели. South Было интересно, но это не имеет особого смысла, когда вы работаете с первой версией.

Удаление базы данных и ее повторная инициализация требуют нескольких команд, а также вы вручную вводите новую учетную запись администратора.

Как вы предлагаете настроить свою среду разработки, чтобы вы могли:

  • автоматический перезапуск сервера django при изменении файлов
  • автоматическая повторная инициализация базы данных при перезапуске django

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

1 ответ

Решение

Предоставление исходных данных для моделей

Иногда полезно предварительно заполнить базу данных жестко закодированными данными при первой настройке приложения. Django может автоматически создавать эти данные несколькими способами: вы можете предоставить исходные данные с помощью приборов или вы можете предоставить исходные данные в виде SQL.

В общем, использование фикстуры - более чистый метод, поскольку он не зависит от базы данных, но исходный SQL также немного более гибок.

http://docs.djangoproject.com/en/dev/howto/initial-data/

Другие вопросы по тегам