我正在编写一个需要可搜索版本控制的 wiki 应用程序。什么是最好的数据模型?
我正在用 Django 编写它,这并不重要。
我会将 svnwiki 添加到列表 en.wikipedia.org/wiki/Svnwiki
让我建议您不要实现版本控制,而是使用现有的实现之一。版本控制需要很多工作才能很好地实现,如果没有很好地实现,会给用户带来很多麻烦。
例如,看看ikiwiki是如何做到的:它有插件来抽象版本控制系统并支持多个插件,因此用户可以选择。
基本上,您要问的是“我如何实现版本控制”。有几个模型可以解决这个问题,但要问的第一个问题是“为什么要构建 wiki 而不是使用现有实现中的一个?”
如果您正在寻找一个用 python 编写的带有源代码版本控制的 wiki,我强烈推荐trac,
不过,我不确定他们是否使用 django。
如果您正在寻找一个带有内置文档管理系统的 wiki,我已经为我的办公室设计并构建了一个(在 bash 中)。正如查理提到的,有很多方法可以实现这一点,您的实现可能主要取决于您办公室的运作方式。如果您想详细说明我们的系统如何工作,我很乐意详细说明 - 只需发表评论,我将编辑这篇文章。