2009-11-26 20 views
7

tengo este código en mi tests.py:importación dos veces cuando se ejecuta la prueba

from models import * 

y en el models.py tengo un manejador de señales y registrarlo con

post_save.connect(post_save_note, sender=Note) 

y cuando prueba de funcionamiento con ./manage.py test main

Encontré que el manejador de señal se registró dos veces y se ejecutó dos veces, y encontré que es porque los modelos se importaron dos veces.

¿No puedo poner from models import * en el código de prueba? ¿qué debo hacer?

Respuesta

9

Debe asegurarse de que sus modelos se importen siempre de la misma manera.

Así, por ejemplo, si se tiene en example1/tests.py:

from models import * 

y en otro paquete example2/views.py:

from example1.models import ModelA 

entonces tendrás el problema que está experimentando. La solución es ser consistente y usar solo una o la otra.

+0

muchas gracias – fallhunter

Cuestiones relacionadas