# models/__init__.py
from shared.cache import Cache
class modelA():
pass
class modelB():
pass
class modelC():
pass
# shared/cache.py
class Cache:
def methodA():
modelA.SomeStaticMethod()
基本上我需要的是从modelA
类中访问Cache
。
如果我尝试从cache.py导入模型,由于循环引用错误,我会收到错误。
我知道这看起来有点奇怪,但这是一个非常具体的问题。 反正有吗?
答案 0 :(得分:1)
您通常会重新构建文件,以便没有循环引用错误。
只需回答您的问题(通常被视为变通方法),您就可以按需导入Cache
,只能在使用它的models/__init__.py
函数内导入Cache
。在这种情况下,这可能是不可能的,特别是如果{{1}}在模块级别用作装饰器。
另见this问题。