[Question] Custom setter\callback for model fields
You can use Model.dirty_fields, which tracks changes to fields. Will that work? It could work, yes. However in a few functions I'm updating all fields and they all get dirty, even if information does not change.

So I ended up writing a function that uses `dict(self._data)` and compares current instance vs what's in the database before saving, and gives me only the fields where data is changed. So I'm doing it on save, and with dirty fields I'd have to move this check to another place. Cool, I suppose that works, but if it's comparing against what's in the database then doesn't that introduce both an additional query to each save() *and* a race condition? What's a race condition?

And yes, indeed it does, and I'm slightly concerned about it. However in this project I don't expect very heavy use of the database, it should work even with SQLite, and I'm sure that MySQL server will handle much more than this. But if there's another solutio to reliably check changes, and whether the field data is actually different from what it was before, that would be great. Well, technically that's what `dirty_fields` is for. If you know which fields you're modifying and *don't* want them to be considered dirty, you can remove the field name from `model_instance._dirty` (a `set`). You can also do `model_instance._dirty.clear()` to reset the dirty fields at run-time. That's what I'd do. Anything more complicated gets pretty hairy. Well, as I said, I basically have a web form, which allows user to modify every field of the row. Once commited it updates every field. I will still need to perform comparison with existing data somewhere. I don't see what the harm is in saving most of the data in that case, but yea, I hear you. There's no harm in saving it, it's the fact that I send notifications when something is updated, and I need to know which fields were changed exactly.
I'd like my application to send notifications whenever model is saved and certain fields are changed.

I tried doing it by using `@var.setter` but naturally I can not just create a setter for peewee field, so I'd have to make separate set of variable\parameters, which gets quite bulky.

I also read that I can override peewee Field classes with my own, but then I'll have to override each class, which does not seem like the best approach to me.

So what other options are there in peewee\playhouse for this?
Or which approach should I go with?

Again, I tried looking through the docs, and googled it, no luck so far.