我在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)。
我想弄清楚如何解决这个问题。
答案 0 :(得分:0)
当您说from models import TeamConstraint
时,不清楚models
是什么
它可能是名称模型的不同应用程序,也可能是同一文件夹中的文件。明白而非隐含更好。
尝试使用绝对导入from scheduler.models import TeamConstraint
或者如果您真的想使用相对导入,请执行此操作from .models import TeamConstraint
(注意模型前的。)
此外,您似乎正在使用Python3,但您的PyCharm已配置为Python2,否则会警告您。
答案 1 :(得分:0)
每当您收到导入错误时,请尝试延迟其中一个导入。 这里来自模型导入TeamConstraint'在课堂或职能中。