将迁移更改写入 django 简单历史

Write migration changes to django simple history

django-simple-history 写入历史记录在 instance.save() 方法上发生了变化。但是当我编写更改实例数据的迁移时,更改没有出现。

save()方法
Model = apps.get_model('myapp', 'MyModel') 

MyModel 

一样吗?有没有办法将此更改写入历史记录?

django-simple-historyMyModel 上使用 post_save 信号以保存到历史 table。该信号不会在您的迁移中发送,因此您想直接写入历史 table。您必须为历史 table 添加一个 history_date 字段。以下应该有效:

from datetime import datetime
Model = apps.get_model('myapp', 'MyModel')
HistoricalModel = apps.get_model('myapp', 'HistoricalMyModel')

instance = Model.objects.create(name='Test')
HistoricalModel.objects.create(name=instance.name, id=instance.id, history_date=datetime.now())