importer deux fois lors de l'exécution du test
Question
j'ai ce code dans mon tests.py:
from models import *
et dans le models.py j'ai un gestionnaire de signal et l'enregistrer avec
post_save.connect( post_save_note, sender=Note )
et quand je lance le test avec ./ manage.py test main
J'ai trouvé le gestionnaire de signal enregistré deux fois et exécuté deux fois, et j'ai trouvé que c'était parce que les modèles avaient été importés deux fois.
ne puis-je pas ajouter à partir des modèles import *
dans le code de test?
que dois-je faire?
La solution
Vous devez vous assurer que vos modèles sont toujours importés de la même manière.
Ainsi, par exemple, si vous avez exemple1 / tests.py
:
from models import *
et dans un autre package example2 / views.py
:
from example1.models import ModelA
alors vous aurez le problème que vous rencontrez. La solution consiste à rester cohérent et à n’utiliser que l’un ou l’autre.