从父文件访问资源

时间:2015-01-13 21:12:15

标签: python

# 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导入模型,由于循环引用错误,我会收到错误。

我知道这看起来有点奇怪,但这是一个非常具体的问题。 反正有吗?

1 个答案:

答案 0 :(得分:1)

您通常会重新构建文件,以便没有循环引用错误。

只需回答您的问题(通常被视为变通方法),您就可以按需导入Cache,只能在使用它的models/__init__.py函数内导入Cache。在这种情况下,这可能是不可能的,特别是如果{{1}}在模块级别用作装饰器。

另见this问题。