Я присоединяю метод к сигналу post_save моей модели Django. Таким образом, я могу очистить некоторые кэшированные элементы всякий раз, когда модель модифицируется.
Проблема, с которой я столкнулся, заключается в том, что сигнал сохраняется дважды при сохранении модели. Это не обязательно повредит (код будет просто изящно выдавать ошибку), но это не может быть правильно.
Быстрый пример, просто вывод модели на консоль (с использованием сервера dev):
from blog.models import Post
from django.db.models import signals
def purge_cache(sender, **kwargs):
print 'Purging %s' % sender
signals.post_save.connect(purge_cache, sender=Post)
Используется стабильная версия Django 1.1.1.
Обновленная информация:
С учетом комментариев каждого, я изменил свой вопрос, потому что теперь проблема заключается в том, что post_save запускается дважды. На данный момент я предполагаю, что мой код models.py импортируется дважды, а post_save подключается несколько раз.
Как лучше всего понять, почему он импортируется / запускается дважды?