Использование сигналов django для обновления состояния нескольких моделей

В настоящее время я работаю над проектом Django, в котором у меня есть модели ClientOrders, DesignerJob и PrinterJob. Я хочу реализовать функциональность, при которой изменение статуса моделей DesignerJob и PrinterJob вызывает обновление статуса связанной с ними модели ClientOrders.

Например, когда статус задания DesignerJob меняется с "new" на "in_progress", я хочу, чтобы статус соответствующей модели ClientOrders обновлялся до определенного состояния. Аналогично, когда изменяется статус задания PrinterJob, я хочу, чтобы связанный с ним статус ClientOrders был соответствующим образом скорректирован.

Я планирую использовать сигналы Django для достижения этой цели, но я хочу убедиться, что следую лучшим практикам и избегаю потенциальных подводных камней.Вот мои конкретные вопросы:

Подход к работе с сигналами: Должен ли я использовать один сигнал для каждой модели и реализовать все условия в этом сигнале или сделать отдельные сигналы для каждого случая?

Циркулярный вызов сигнала: Если у меня есть случай, когда, скажем, сигнал PrinterJob обновляет статус DesignerJob, приведет ли это к циркулярному вызову? Но этот случай очень маловероятен.

Вернуться на верх