В Django, моят код за улавяне на pre_save сигнал работи добре. Въпреки това, в тестовете в tests.py, обработващият сигнала не може да получи нищо. Има ли намек за този проблем?
- Изглежда, че моите тестови кутии и манипулатор на сигнала са в различни приложения. Това е причината за проблема?
Отговори:
5 за отговор № 1Изглежда, че моите тестови кутии и манипулатор на сигнала са в различни приложения. Това е причината за проблема?
Да. Всяко приложение tests.py
е атомна. import
вашият код за регистрация на сигнал или да ги свържете ръчно някъде в теста, за да сте сигурни, че слушат:
Можете да поставите обработка на сигнали и регистрационен кодкъдето пожелаете. Трябва обаче да сте сигурни, че ще бъдете сигурни модулът, в който се намира, се внася по-рано за да се получи обработката на сигнала регистрирани преди да са необходими сигнали да бъде изпратено.
(От: Слушане на сигнали, Свързване на функциите на приемника.)