3

django-simple-historyinstance.save()在方法上写入历史更改。但是当我编写更改实例数据的迁移时,更改并没有出现。

save()方法

Model = apps.get_model('myapp', 'MyModel') 

MyModel 

一样吗?有没有办法将这些更改写入历史?

4

1 回答 1

5

django-simple-history使用post_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())
于 2018-08-13T17:01:07.873 回答