Anybody on here have strong opinions about using #python #Django signals versus overriding e.g. a model’s save() method? I need to cache a parsed version of a large TextField, & so I’m considering a singleton RerenceManager class that listens for model change signals and parses the references out of the relevant text field for use by view code and templates. But I guess I could also override the save() method on the model and have it call an update_references() method on the ReferenceManager
@kevinr both work but signals can be tricky to understand/find/debug. Especially when overused they can turn an otherwise nice codebase somewhat spaghetti-ish :/

@kevinr I agree with @tykling - I'd only use signals if I'm authoring an external library and know that's what I want... otherwise, I'd stick with either using .save() in my own projects OR even better, write an explicit method and call it separately from .save().

Having magic in .save() can get out of hand. And you need to be careful with things like the `update_fields=...` keyword argument.