【发布时间】:2014-10-29 10:02:00
【问题描述】:
我正在尝试在 Django 中创建一个类似 wiki 的页面。
我有两个型号Article 和ArticleRevision。
如果我想检索最新版本,我想我需要在 Article 中引用 ArticleRevision 的 OneToOneField。但如果我想查看一篇文章的修订历史,我还需要来自ArticleRevision 的ForeignKey 引用Article。
这可能是正确的方法,但是拥有多个外键是不是有点矫枉过正?我可以只使用来自 ArticleRevision 的 ForeignKey(to=Article) 并使用 articlerevision_set.latest() 从 Article 获取最新修订版。但是,如果我要回滚到早期的修订版,就会造成麻烦。然后我可以在ArticleRevision 中使用BooleanField 来判断它是否是最新版本。
有人对此有任何想法吗?我真的很想以最好和最有效的方式做到这一点。
【问题讨论】:
标签: python django database django-models mediawiki