我不太确定采用以下方法的最佳/惯用方法:
我有一个名为 BlogPost 的模型和一个名为 BlogPostContent 的模型。 BlogPost有一个名为 CurrentContent 的字段,该字段引用BlogPostContent表中的相关记录。 BlogPostContent有一个名为 Post 的外键字段,引用其相关的BlogPost。
修改博客后,会创建一个新的BlogPostContent记录,并更新BlogPost,使其 CurrentContent 字段引用最新的BlogPostContent。我这样做是为了提供一种方法来回滚并指定任何 BlogPostContent 记录来使用 CurrentContent < / EM>
CurrentContent 可以引用与其相关的任何BlogPostContent记录。
如果我在代码中对此进行建模,那将是:
class BlogPostContent {
//Content
}
class BlogPost {
BlogPostContent currentPost;
List<BlogPostContent> contentHistory;
}
答案 0 :(得分:1)
您的内容历史记录需要从[{1}}返回BlogPost
的外键。
BlogPostContent
然后,您可以从博客文章实例访问历史记录或当前帖子,如下所示:
class BlogPostContent(models.Model):
blog_post = models.ForeignKey('BlogPost', related_name='content_history')
class BlogPost(models.Model):
current_post = models.ForeignKey('BlogPostContent')