Когда юг не вариант, я просто вручную пишу сценарии для небольших изменений. и большие я использую
./manage.py dumpdata appname
http://docs.djangoproject.com/en/dev/ref/django-admin/#dumpdata-appname-appname-appname-model
Бросьте это в файл. Запустите регулярное выражение замены, чтобы обновить все добавленные / удаленные поля, и тогда возможен сброс этого приложения. Я должен признать, что давно этого не делал, но могу получить какой-то конкретный код, чтобы сделать это для вас, если это необходимо.
загружается обратно с loaddata
редактировать
Данные дампа Django для одной модели? Этот вопрос похож и может содержать информацию, о которой я говорил.
Все же дайте мне знать, если вам нужно, и я выкопаю свой старый сценарий (или напишу хороший простой) для вас.
UPDATE
./manage.py dumpdata appname --indent=4 > appname.json
#open your fav text editor and do a find/replace
./manage.py reset appname
./manage.py loaddata appname.json
Это должно сделать это. Когда вы делаете замену, вам нужно только удалить поля, которые у вас больше нет, и добавить поля, которые не обнуляются. (как минимум).
Примечания: --indent = 4 прекрасно форматирует все для вас. Это означает 4 пробела.
Сброс ./manage.py работает только в pre django 1.3 (gah!) в django 1.3. Вам нужно будет сделать ./manage dbshell
и drop table
. SQL для этого находится из команды ./manage.py sqlreset appname
.