如何在交互会话中重新加载Django模型而不丢失本地变量?
我正在做一些研究,使用一个交互式的命令行工具,并且用一个Django应用(shell_plus)来存储数据和通过方便的管理界面浏览这些数据。
有时候我会添加或修改一些应用的模型,然后运行syncdb(或者在更改模型时使用South迁移)。但是,即使我重新导入了应用的模型,这些模型的变化在我的交互式会话中也不会生效。因此,我不得不重启shell_plus,这样就会丢失我之前保存的本地变量。
有没有什么方法可以在会话中重新加载这些模型呢?谢谢!!
1 个回答
1
你可以使用这个代码片段来重建AppCache。记得如果有的话,要删除所有的*.pyc文件,可以用类似下面的命令:
find . -name "*.pyc" -exec rm {} \;
否则,reload()这个命令会忽略你在models.py文件中所做的更改。