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?

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top