django-extensions shell_plus autoload

时间:2011-02-04 21:13:18

标签: django

如何告诉django-extensions'shell_plus我要自动加载哪些型号?

4 个答案:

答案 0 :(得分:1)

  

shell_plus - 增强版的   Django shell。它将自动加载所有   您的模型使其易于工作   立即使用ORM。

引用来自django-extensions github wiki的https://github.com/django-extensions/django-extensions/wiki/Current-Command-Extensions

不要相信它实际上可以更改其设计用于快速自动加载所有模型。

答案 1 :(得分:1)

过去,当shell_plus没有自动加载我的模型时,通常是因为模型中存在错误而导致自动加载失败。

如果你打开shell plus然后尝试一次一个地手动加载你的模块会发生什么?

from app.models import ModelName

要尝试的另一件事是关闭设置文件中除默认django应用程序之外的所有应用程序,并查看它们是否自动加载。如果他们这样做,那么慢慢添加越来越多的应用程序,一次一个,直到它停止工作,然后你可以找出哪个模型有问题。一旦您知道哪个模型存在问题,就可以更容易地找出正在发生的事情。

我遇到的最常见错误是两个不同模型之间存在周期性依赖关系(此模型取决于该模型,但尚未加载,反之亦然)。

希望有所帮助。

答案 2 :(得分:1)

我为shell_plus扩展创建了一个新补丁,可以忽略某些模型。等待https://github.com/django-extensions/django-extensions/pull/99被接受。

答案 3 :(得分:0)

根据code。 shell_plus总是加载你的所有模型。