【发布时间】:2014-05-08 05:50:43
【问题描述】:
我是一个制作问答网站。目前我有这样的模型
class Question(models.Model):
title = models.CharField(max_length=150)
detail = models.TextField()
submitter = models.ForeignKey(User)
date_added = models.DateTimeField(auto_now_add = True)
...# some additional fields such as tags
class Answer(models.Model):
detail = models.TextField()
submitter = models.ForeignKey(User)
date_added = models.DateTimeField(auto_now_add = True)
...
class QuestionVote(models.Model):
voter = models.ForeignKey(User)
question = models.ForeignKey(Question)
#replicating what I did for QuestionVote
class AnswerVote(models.Model):
voter = models.ForeignKey(User)
question = models.ForeignKey(Question)
除了标题和标签外,问答模型相同。要向 Answers 添加投票功能,我必须将 QuestionVote 模型复制为 AnswerVote,并重复我为视图中的问题投票所做的一切。我看了一点模型继承,但如果我声明一个抽象基类并从中继承问答模型,那么我不能使用外键。那么避免这种重复的最佳方法是什么?
【问题讨论】:
-
@谁指出,我已经纠正了复制粘贴错误
标签: django django-models