假设我正在维护UserActivity
模型中的用户的活动日志。
class UserActivity(models.Model):
description = models.TextField()
query = models.TextField()
我认识transaction.atomic
。认为这是几天前进行的交易,今天回滚。
答案 0 :(得分:0)
我建议您使用django-simple-history
[PiPy]之类的工具。您需要添加一些中间件,并在要跟踪的模型上定义一个HistoricalRecords()
。
它将为您跟踪的每个模型创建一个额外的表,该表将存储更改(添加,更新,删除)以及进行更新的用户,时间戳和可选原因。
例如,您可以查询历史记录中对象的状态,例如:
from datetime import datetime
my_model_object.history.as_of(datetime(2019, 7, 2, 7, 56))
以处于2-7-2019 7:56:00的状态检索my_model_object
。