我正在寻找在Django中获得我的模型历史记录(interger &浮点字段)的最佳方法。 我读Keeping a history of data changes in database,看起来触发器是最好的选择。在Django中保留历史记录以绘制图形
我的想法是在可能的情况下保持数据库不可知。
你如何在你的django代码中解决这个问题?
TIA。
我正在寻找在Django中获得我的模型历史记录(interger &浮点字段)的最佳方法。 我读Keeping a history of data changes in database,看起来触发器是最好的选择。在Django中保留历史记录以绘制图形
我的想法是在可能的情况下保持数据库不可知。
你如何在你的django代码中解决这个问题?
TIA。
你应该检查出Django Reversion的应用程序。这可能是在你的项目中实现你想要的最简单的方法,特别是如果你还想恢复早期版本的模型。如果没有,这可能有点矫枉过正。您也应该检查Django History。可能更符合你真正需要的东西。然而,它很久没有更新,您可能不得不将它用作您的定制解决方案的灵感。
如果你不打算去与触发器,Signals做类似的工作 - 它会(可能)会比使用触发器效率较低,但你可以附加一个post_save
信号到你的模型,你要跟踪和做所有你需要的处理。
我一直在编写一个简单的Django历史。 但是我仍然有兴趣看看为了图表的目的,将数据保存在数据库中的最佳实践。 – Thomas 2010-06-17 16:31:28
这很难说,取决于你有什么样的模型以及你想从他们产生什么类型的图。但是,一个常见的/基本的做法是优化处理'选择'大量数据的功能。*非规范化*某些型号。 – 2010-06-18 07:07:41