I see I can override or define pre_save, save, post_save to do what I want when a model instance gets saved.
Which one is preferred in which situation
pre_save
it's used before the transaction saves.
post_save
it's used after the transaction saves.
You can use pre_save for example if you have a FileField or an ImageField and see if the file or the image really exists.
You can use post_save when you have an UserProfile and you want to create a new one at the moment a new User it's created.