2010-06-24 26 views
4

我有这样的文件顺序:Django的信号文件,无法导入模型名

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。

回答

13

很可能你有循环依赖。你的models.py是否导入信号?如果是这样,这是不可能的,因为两个模块现在都相互依赖。您可能需要在信号文件中的函数中导入模型,而不是在顶层。

+0

非常感谢Daniel!将信号导入信号解决了问题:) – Hellnar 2010-06-24 10:49:43

+4

另一种方法是将'import signals'移动到'models.py'文件的最后。 – bradenm 2012-06-13 18:00:46

相关问题