Django ImportError:无法从模型导入

时间:2017-01-26 09:21:10

标签: python django

我在app目录中有一个utils.py文件,其级别与models.py相同。我想在utils.py中导入一个类(模型):

from models import TeamConstraint

我的IDE没有报告任何冲突,但是在运行服务器时我得到ImportError

ImportError: cannot import name TeamConstraint

我尝试检查循环依赖关系,文件tasks.py也与从utils.py导入的其他文件处于同一级别:

from scheduler.utils import current_indie_teams, matchcount_by_week

虽然我不明白为什么这里需要明确地包含scheduler,而在尝试导入模型时则不需要(或至少说PyCharm)。

我想弄清楚如何解决这个问题。

2 个答案:

答案 0 :(得分:0)

当您说from models import TeamConstraint时,不清楚models是什么 它可能是名称模型的不同应用程序,也可能是同一文件夹中的文件。明白而非隐含更好。

尝试使用绝对导入from scheduler.models import TeamConstraint或者如果您真的想使用相对导入,请执行此操作from .models import TeamConstraint(注意模型前的。)

此外,您似乎正在使用Python3,但您的PyCharm已配置为Python2,否则会警告您。

答案 1 :(得分:0)

每当您收到导入错误时,请尝试延迟其中一个导入。 这里来自模型导入TeamConstraint'在课堂或职能中。