如何在交互式会话中重新加载 Django 模型而不丢失本地模型?

发布于 2024-08-29 10:07:57 字数 236 浏览 8 评论 0原文

我正在使用交互式 shell 进行一些研究,并使用 Django 应用程序 (shell_plus) 来存储数据并使用方便的管理浏览数据。

有时我会添加或更改一些应用程序模型,并运行syncdb(或更改模型时进行南迁移)。即使我重新导入应用程序模型,对模型的更改也不会在我的交互式会话中生效。因此我被迫重新启动 shell_plus 并在此过程中丢失我宝贵的 locals() 。

有没有办法在会话期间重新加载模型? 谢谢!!

I'm doing some research with an interactive shell and using a Django app (shell_plus) for storing data and browsing it using the convenient admin.

Occasionally I add or change some of the app models, and run a syncdb (or South migration when changing a model). The changes to the models don't take effect in my interactive session even if I re-import the app models. Thus I'm forced to restart the shell_plus and lose my precious locals() in the process.

Is there any way to reload the models during a session?
Thanks!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

蓝梦月影 2024-09-05 10:07:57

您可以使用此用于重建 AppCache 的片段。不要忘记使用以下命令删除所有 *.pyc 文件(如果有):

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

否则 reload() 将忽略 models.py 文件中的更改。

You can use this snippet to rebuild the AppCache. Do not forget to remove all *.pyc files if any by using something like:

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

Otherwise the reload() will ignore your changes in your models.py file.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文