Django post_save предотвращает рекурсию без переопределения модели save ()

Есть много сообщений Stack Overflow о рекурсии с использованиемpost_save сигнал, на который подавляющее большинство комментариев и ответов: «почему бы не переопределить save ()» или спасбросок только поcreated == True.

Ну, я считаю, что есть хороший случай, чтобы не использоватьsave() - например, я добавляю временное приложение, которое обрабатывает данные о выполнении заказа полностью отдельно от нашей модели заказа.

Остальная часть фреймворка, к счастью, не знает о приложении выполнения, а использование хуков post_save изолирует весь код, связанный с выполнением, от нашей модели Order.

Если мы отбросим службу выполнения, ничего в нашем основном коде не должно измениться. Мы удаляем приложение исполнения, и это все.

Итак, есть ли достойные методы для обеспечения того, чтобы сигнал post_save не запускал один и тот же обработчик дважды?

Ответы на вопрос(8)

Ваш ответ на вопрос