2009-11-26 93 views
7

我有这样的代码在我tests.py:进口的两倍时运行测试

from models import * 

,并在models.py我有一个信号处理程序,并与

post_save.connect(post_save_note, sender=Note) 

,当我注册它与./manage.py test main

运行测试,我发现了信号处理程序注册了两次,并执行两次, ,我发现这是因为这些模型是进口的两倍。

我不能在测试代码中放from models import *吗? 我该怎么办?

回答

9

您需要确保您的模型始终以相同的方式导入。

因此,举例来说,如果你有example1/tests.py

from models import * 

,并在另一个包example2/views.py

from example1.models import ModelA 

,那么你将有你所遇到的问题。解决方案是一致的,只使用一个或另一个。

+0

非常感谢你 – fallhunter 2009-11-26 06:46:16