У меня есть модели в отдельных файлах:
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 '------'
Всякий раз, когда я сохраняю Event
через консоль, сообщение в post_save
печатается один раз, но всякий раз, когда я использую интерфейс администратора, оно печатается дважды. Это может быть связано с тем, что я импортирую модели и в admin.py
.
Есть ли обходной путь для этого, чтобы я мог сохранять объекты событий из интерфейса администратора без двойного запуска post_save
?