個々のファイルにモデルがあります。
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
が 1 回出力されますが、管理インターフェイスを使用するたびに 2 回出力されます。これは、内部のモデルもインポートしているためかもしれませんadmin.py
。
post_save
2 回起動することなく、管理インターフェイスから Event オブジェクトを保存できるようにするための回避策はありますか?