将迁移更改写入Django简单历史记录

时间:2018-07-19 16:29:32

标签: django django-migrations django-simple-history

django-simple-history使用instance.save()方法编写历史记录更改。但是,当我编写用于更改实例数据的迁移时,没有出现更改。

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

MyModel 

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

1 个答案:

答案 0 :(得分:1)

django-simple-historypost_save上使用MyModel信号以保存到历史表。该信号不会在您的迁移中发送,因此您想直接写入历史表。您必须在历史记录表中包含一个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())