【发布时间】:2011-05-21 07:52:32
【问题描述】:
我想使用http://docs.djangoproject.com/en/dev/topics/db/models/#model-inheritance 对现有模型进行子类化,以创建对原始表中任何记录所做的每次更改的完整历史记录。
Foo类: 数据 = 模型.TextField() created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) 定义保存(): 极好的(...) 审计 = FooAuditLog.createFromFoo(self) 类 FooAuditLog(Foo): history_for = models.ForeignKey(Foo) def createFromFoo(foo): ... #从原始记录创建审计日志条目。所以每次我创建或更新“Foo”类型的记录时,我都想拍摄 Foo 记录的快照并将另一个条目添加到 FooAuditLog 中。我的目标是为每条 Foo 记录提供完整的修订历史记录,以便我可以跟踪随着时间的推移对每条记录所做的每一次更改。
这种方法的缺陷是什么?如果与 Foo 之间存在 ForeignKey 关系,我是否需要担心 Foo 和 FooAuditLog 之间的级联删除/更新?
【问题讨论】:
-
你最后做了什么?我现在正在研究类似的解决方案。谢谢!
标签: django django-models