从子模块导入父模块

时间:2013-04-19 19:30:03

标签: python django

我遇到了一个我不理解的导入错误,并且无法在其他SO问题中找到解决方案:

我有这个django结构:

  • project_root /
    • 应用/
      • __初始化__。PY
      • 程序my_app /
        • __初始化__。PY
        • models.py
        • views.py
        • 报告/
          • __初始化__。PY
          • R1.py
          • R2.py

在R1.py或R2.py中的任何一个语句

from apps.my_app.models import MyModel

抛出ImportError。我知道MyModel存在......我在views.py中完全导入它。

在apps.my_app.reports.__init__.py中我有以下几行:

from R1 import R1_Report
from R2 import R2_Report

因为每个文件都定义了RX_Report类。

这是我能想到的所有潜在相关信息......任何想法?

1 个答案:

答案 0 :(得分:1)

啊......没关系。这是一个循环导入。通过切换解决了它

from apps.my_app import reports
...
reports.stuff()

import apps.my_app
...
apps.my_app.reports.stuff()

在models.py