オブジェクトが追加または更新されたときに外部データベースで操作を実行するために、Django の Model.save() メソッドを上書きしました。
基本的に、ここに私の方法があります:
def save(self, *args, **kwargs):
if self.pk is None:
# Insert query on the external database.
else:
# Update query on the external database.
super(MyModel, self).save(*args, **kwargs)
私の質問は、たとえば self.name を実行するだけで送信されたデータにアクセスできることはわかっていますが、どうすれば古いデータにアクセスできますか? もちろん、更新の場合は、既存のデータを意味します。
これが私の問題であるため、外部データベースは多くのクエリをサポートしていないため、問題のフィールドが更新された場合にのみクエリを実行したいと考えています。
これが私がやりたいことです:
def save(self, *args, **kwargs):
if self.pk is None:
# Insert query on the external database.
else:
if self.name is not self.THE_CURRENT_NAME
# Update query on the external database.
super(MyModel, self).save(*args, **kwargs)
誰にもアイデアがありますか?