无法使用sys.modules中的模块中的对象

时间:2019-07-23 00:35:33

标签: python django python-import

由于循环导入,因此需要以这种方式加载模块:

try:
    from ..foo import serializers as foo_serializers
except ImportError:
    import sys
    foo_serializers = sys.modules['app.foo.serializers']

当我在这样的类定义中使用已加载的模块时,它会显示app.foo.serializers has no attribute FooSerializer,尽管它肯定具有:

class SomeSerializer(ModelSerializer):
    foo_field = foo_serializers.FooSerializer()

但是当我在类函数中使用foo_serializers.FooSerializer时,它可以工作。这是什么意思?加载类定义时,sys.modules中的模块是否已完全加载?这可能是个问题吗?

0 个答案:

没有答案