我想在Django做一个类似wiki的页面。
我有两个模型ArticleArticleRevision
如果我想检索最新版本,我想我需要一个OneToOneField中的Article引用ArticleRevision。但如果我想查看一篇文章的修订历史,我还需要一个ForeignKeyfromArticleRevision引用Article
这可能是正确的方法,但是拥有多个外键不是有点过分了吗?我只需要一个ForeignKey(to=Article)来自articleredition,并使用Articlearticlerevision_set.latest()获取最新版本就可以做到这一点。但是,如果我要回滚到一个早期的修订版本,它将导致麻烦。然后我可以使用BooleanField中的ArticleRevision来判断它是否是最新的修订版。
有人对此有什么想法吗?我真的想用最好最有效的方法来做。

最佳答案

你应该看看django-revisions。它允许你做你所需要的,而不必重新实现所有的事情。

10-06 05:15