class Conversation(models.Model):
contact = models.ForeignKey(Contact)
conversation_datetime = models.DateTimeField()
notes = models.TextField(_(u'Notes'), blank=True)
def __unicode__(self):
return self.conversation_datetime
class Conversation_history(Conversation):
log_date_time = CreationDateTimeField()
def __unicode__(self):
return self.conversation_datetime
不确定这是否是最好的,但我希望创建每个主要模式的历史表,以便我可以跟踪客户正在做的事情,并在支持案例中帮助他们。
我基于原始模型创建了一个新模型。但是当我保存新模型的实例时,原始表将被填充。我不明白为什么。
call = Conversation(contact='', conversation_datetime = '', notes='')
call.save()
ch = Conversation_history(contact='', conversation_datetime = '', notes='')
ch.save()
答案 0 :(得分:1)
因为您尚未将Conversation模型声明为抽象。您正在使用多表继承。看看docs。
如果您想要存储在您孩子身上的所有数据,那么您应该执行类似的操作 -
class ConversationBase(models.Model):
contact = models.ForeignKey(Contact)
conversation_datetime = models.DateTimeField()
notes = models.TextField(_(u'Notes'), blank=True)
class Meta:
absract = True
class Conversation(ConversationBase):
pass
class ConversationHistory(ConversationBase):
log_date_time = CreationDateTimeField()