Вопрос

у меня есть этот код в моем tests.py:

from models import *

и в models.py у меня есть обработчик сигнала, и я регистрирую его с помощью

post_save.connect( post_save_note, sender=Note )

и когда я запускаю тест с ./ manage.py test main

Я обнаружил, что обработчик сигнала был зарегистрирован дважды и выполнен дважды, и я обнаружил, что это потому, что модели были импортированы дважды.

я не могу вставить из импорта моделей * в тестовый код? что мне делать?

Это было полезно?

Решение

Вы должны убедиться, что ваши модели всегда импортируются одинаково.

Например, если у вас есть файл example1 / tests.py :

from models import *

и в другом пакете example2 / views.py :

from example1.models import ModelA

тогда у вас возникнет проблема, с которой вы столкнулись. Решение должно быть последовательным и использовать только одно или другое.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top