我有这样的文件顺序:
project/
app/
models.py
signals.py
我将信号保持在signals.py内部。在signals.py文件的顶部,我包含myapp模型,因为我使用
查询这些信号from myproject.myapp.models import Foo
然而它似乎找不到它,因为我运行服务器或从manage.py验证,它给出了这个错误:
from myproject.myapp.models import Foo
ImportError: cannot import name Foo
我正在使用Django 1.2.1。
答案 0 :(得分:14)
很可能你有循环依赖。你的models.py导入信号吗?如果是这样,这不起作用,因为两个模块现在彼此依赖。您可能需要在信号文件中的函数内导入模型,而不是在顶层。