【发布时间】:2020-07-23 04:04:27
【问题描述】:
我在一个包中有 3 个 python 文件,我正在尝试将一个文件中的一个类导入到另一个 2 个文件中。但我得到错误。
models
__init__.py
a.py
b.py
c.py
a.py
class ATestOne()
pass
class ATestTwo()
pass
class ATestThree()
pass
b.py
from app.models.a import ATestOne, ATestTwo
from app.models.c import CTestOne
class BTestOne()
field1 = models.ForeignKey(ATestOne)
class BTestTwo()
field1 = models.ForeignKey(CTestOne)
c.py
from app.models.a import ATestOne, ATestThree
from app.models.b import BTestOne
class CTestOne()
field1 = models.ForeignKey(ATestOne)
class CTestTwo()
field1 = models.ForeignKey(BTestOne)
返回下面提到的错误 ImportError: 无法导入名称“ATestOne”
请提供解决此问题的建议。提前致谢。
【问题讨论】:
-
文件
b.py和c.py之间的循环导入是明确的。将导入移动到相应的类下。那应该可以。
标签: python django model circular-dependency