我已经覆盖了 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)
有人有想法吗?