0
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()
4

1 回答 1

1

因为你还没有声明你的 Conversation 模型是抽象的。您正在使用多表继承。看看文档

如果您希望将所有数据存储在您的孩子中,那么您应该执行以下操作 -

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()
于 2013-02-24T18:23:58.360 回答