如何告诉django-extensions'shell_plus
我要自动加载哪些型号?
答案 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总是加载你的所有模型。