目前我正在尝试编写我的第一个Python库,但我遇到了以下问题:
我的包myapp.factories中有以下导入:
from myapp.models import *
以下是我的包myapp.models:
from myapp.factories import *
我需要工厂包中的模型,但在一个模型中我还需要一个工厂。如果我现在调用需要工厂的代码,我会收到以下错误:
NameError: global name 'MyModelFactory' is not defined
我很确定它与脚本的加载顺序有关,但我似乎无法弄清楚如何使这些交叉引用工作。
答案 0 :(得分:5)
“在一个模型中我还需要一个工厂” - 只需在您需要的地方导入该工厂:
class SomeModel:
def some_method(self):
from myapp.factories import SomeFactory
SomeFactory().do_something()