diadia

趣味のプログラムを書く 

post_save,pre_saveの使い分けについて[仮説]

シグナルについて


どのような場面でシグナルのpost_save,pre_saveを使いわけるのか理解していない。
今のイメージを書きとどめておく。

pre_save:
class A のインスタンスaのプロパティxを変更する。プロパティxを変更すると、xに関連して他のプロパティyも変更する必要がある。
つまりa.xを変更すると、一緒にa.yも変更したいという要望がある。a.xの変更をa.save()で確定する前に、a.yの変更を差し込むってのがpre_save()の役割。
同一クラスの同一インスタンスの2要素を同時に変更したいときにpre_save()を使う?

post_save():
class Aのインスタンスaのプロパティxを変更する。この変更を確定として、別のclass Bのインスタンスの要素を変更したいときに使う?