我是 django-simple-history 的忠实粉丝,但是当我在模型的默认 save() 方法中使用“save_without_historical_record”时,我似乎无法正常工作。
我有这样的模型
class NzPlasmid (models.Model):
...
plasmid_map = models.FileField("Plasmid Map (max. 2 MB)", upload_to="temp/", blank=True)
history = HistoricalRecords()
...
它有一个自定义的 save() 方法,它用新创建的对象的 id 重命名质粒映射。为了做到这一点,我第一次保存对象以获取它的 id,然后用它来重命名质粒_map。我不想为第一次保存保存历史记录,而只想为第二次保存。我的自定义 save() 方法如下所示
def save(self, force_insert=False, force_update=False):
self.skip_history_when_saving = True
super(NzPlasmid, self).save(force_insert, force_update)
... some rename magic here ...
del self.skip_history_when_saving
super(NzPlasmid, self).save(force_insert, force_update)
这不起作用,因为每次创建质粒时我仍然会得到“重复”的历史记录。
提前非常感谢。