Mam swoje modele w poszczególnych plików:Post_save otrzymał dwukrotnie dla jednego Zapisz nawet przy użyciu dispatch_uid
models
\
|__init__.py
|event.py
|a_thing.py
|...
W __init__.py
importować każdego modelu, a potem ustawić obsługi sygnału.
Dla modelu Event
potrzebuję jakiejś obsługi post_save
.
Jest to okrojona wersja __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 '------'
Ilekroć zapisać Event
za pośrednictwem konsoli komunikat w post_save
jest drukowany raz, ale gdy używam interfejsu administratora robi wydrukowane dwukrotnie. Może to być spowodowane tym, że importuję również modele wewnątrz admin.py
.
Czy istnieje sposób obejścia tego problemu, aby można było zapisywać obiekty zdarzeń z poziomu interfejsu administratora bez dwukrotnego odpalenia obiektu post_save
?