Найти - Пользователи
Полная версия: post_save почему-то вызывается два раза
Начало » Django » post_save почему-то вызывается два раза
1
svas
Коннектюсь к данному сигналу. При сохранении модели (причем любой) обработчик вызывается два раза. Почему так?
slav0nic
сигнал видать 2 регистрируется
svas
slav0nic
сигнал видать 2 регистрируется
Всмысле я что-то не так делаю? Код регистрации сигнала у меня находится в models.py. Может из-за этого? Куда еще можно попробовать засунуть этот код?
Александр Кошелев
Он там правильно находится.

Проблема в том, что вы этот самый models.py по разному у себя в коде импортируете. По разному пути.
svas
Т.е. я так понимаю обработчик сигнала регистрируется дважды. Как этого можно избежать?
smal
Проблема в тому, що models.py десь двічі імпортується, відповідно обробник сигналу реєструється двічі. При коннеті обробника до сигналу, модна використовувати додатковий параметр dispatch_uid, який забезпечує однозначну ідентифікацю обробника і запобігає його повторній реєстрації
def connect(self, receiver, sender=None, weak=True, dispatch_uid=None):
"""
Connect receiver to sender for signal.

Arguments:

receiver

sender

weak

dispatch_uid
An identifier used to uniquely identify a particular instance of
a receiver. This will usually be a string, though it may be
anything hashable.
детальніше дивіться у файл django/dispatch/dispatcher.py
svas
Спасибо
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB