Как перезагрузить модели Django, не теряя своих местных жителей в интерактивной сессии? - PullRequest
4 голосов
/ 20 апреля 2010

Я провожу некоторые исследования с интерактивной оболочкой и использую приложение Django (shell_plus) для хранения данных и просмотра их с помощью удобного администратора.

Иногда я добавляю или изменяю некоторые модели приложенийзапустить syncdb (или южную миграцию при смене модели).Изменения в моделях не вступают в силу в моем интерактивном сеансе, даже если я повторно импортирую модели приложений.Таким образом, я вынужден перезапустить shell_plus и потерять мои драгоценные locals () в процессе.

Есть ли способ перезагрузить модели во время сеанса?Спасибо !!

1 Ответ

1 голос
/ 20 апреля 2010

Вы можете использовать этот фрагмент , чтобы перестроить AppCache. Не забудьте удалить все файлы * .pyc, если они есть, используя что-то вроде:

find . -name "*.pyc" -exec rm {} \;

В противном случае reload () игнорирует ваши изменения в файле models.py.

...