Мои модели хранятся в отдельных файлах:
models
\
|__init__.py
|event.py
|a_thing.py
|...
В __ init __. Py
я импортирую каждую модель и после этого устанавливаю обработку сигналов.
Для модели Event
мне нужна некоторая обработка post_save
.
Это усеченная версия __ init __. Py
:
from django.db.models.signals import post_save
from django.dispatch import receiver
from core.models.event import Event
# Event
@receiver(post_save, sender = Event)
def event_post_save(sender, dispatch_uid = 'nope', **kwargs):
print kwargs.get('created')
print '------'
Каждый раз, когда я сохраняю событие
через консоль, сообщение в post_save
печатается один раз но всякий раз, когда я использую интерфейс администратора, он печатается дважды. Это может быть связано с тем, что я также импортирую модели в admin.py
.
Есть ли обходной путь для этого, чтобы я мог сохранять объекты событий из интерфейса администратора без двойного запуска post_save
?