Как настроить Django для повторной инициализации и заполнения всей базы данных при запуске?
Предположим, вы работаете с первой версией нового приложения Django и продолжаете добавлять изменения в модели.
Будучи приложением, управляемым данными, вы в основном работаете над настройкой django admin.
В этом случае syncdb
не слишком полезен, потому что он не сможет обновить модели. South
Было интересно, но это не имеет особого смысла, когда вы работаете с первой версией.
Удаление базы данных и ее повторная инициализация требуют нескольких команд, а также вы вручную вводите новую учетную запись администратора.
Как вы предлагаете настроить свою среду разработки, чтобы вы могли:
- автоматический перезапуск сервера django при изменении файлов
- автоматическая повторная инициализация базы данных при перезапуске django
В результате я ожидаю, что смогу добавить новый атрибут в модель, переключиться в браузер, обновить страницу администратора и увидеть новый атрибут.
1 ответ
Предоставление исходных данных для моделей
Иногда полезно предварительно заполнить базу данных жестко закодированными данными при первой настройке приложения. Django может автоматически создавать эти данные несколькими способами: вы можете предоставить исходные данные с помощью приборов или вы можете предоставить исходные данные в виде SQL.
В общем, использование фикстуры - более чистый метод, поскольку он не зависит от базы данных, но исходный SQL также немного более гибок.