Django model signals vs overriding save

14817
0

Signals and save overrides both handle model events, but have different use cases. I override save() for logic intrinsic to the model. Signals decouple logic across apps—I use them when multiple apps need to respond to model changes. Signals can make debugging harder due to implicit connections. I use post_save with created flag to distinguish create vs update. For performance-critical paths, save override is faster (no signal dispatch). I document signals clearly. Choose based on coupling needs—tight coupling favors save override, loose coupling favors signals.