django子应用程序中的循环导入

时间:2014-08-15 06:55:05

标签: python django cyclic-reference

我在django项目上工作,我有以下设置

project
    /products
        /product1
            /models.py
            /forms.py
        /productN
    /otherapps

#models.py
from .forms import foo
...

#forms.py
from .models import bar

您会看到循环导入。我已经尝试了很多组合,但我似乎无法做到正确。我宁愿不将forms.py中的代码移动到models.py

我试过了:

from products import *
from products.product1 import *
from products.product1.form import *

import products
import products.product1
import products.product1.form

非常感谢一些帮助。

1 个答案:

答案 0 :(得分:1)

在models.py中移动你的

from .forms import foo

到实际需要使用foo的方法内部。这将阻止它导入,直到调用该方法,而不是一旦导入models.py。这不是最好的做法,如果你在很多地方使用foo,那么维护它会很痛苦,但它应该修复循环导入。