Python 自动保存到数据库django

Python 自动保存到数据库django,python,django,django-models,Python,Django,Django Models,我有一个简单的DB模式: class testModel(models.Model): modified_by = models.CharField(max_length=50, verbose_name="Modified by") modify_date = models.DateTimeField(auto_now_add=True, auto_now=False) week = models.DateField( verbose_name="Week date"

我有一个简单的DB模式:

class testModel(models.Model):
    modified_by = models.CharField(max_length=50, verbose_name="Modified by")
    modify_date = models.DateTimeField(auto_now_add=True, auto_now=False)
    week = models.DateField( verbose_name="Week date" )
    type = models.CharField(max_length=10, verbose_name="Type")
    value = models.CharField(max_length=4, verbose_name="value")

    def __unicode__(self):
        return str(self.type)
我想做的是将每个操作保存到第二个表中,例如testModel_history

我知道我可以在第一个表的每次更改期间创建这样的表并导入记录,但我想问您是否有更好的方法来做到这一点


提前感谢,

尝试使用继承的模型:

class testModel2(testModel):
    def __init__(testModelObj, self):
        #for every field: self.field_name = testModelObj.field_name

    class Meta:
        db_table = 'your_db_table' #if you want a specific one
另外,在testModel中重写save方法:

#in class testModel
def save(self):
    testModel2(self).save()
    super().save()

如果您真的试图只保存动作的历史记录,请使用Django simple history。

您只需将
history=HistoricalRecords()
添加到所有需要跟踪的模型中

例如:

class testModel(models.Model):
    modified_by = models.CharField(max_length=50, verbose_name="Modified by")
    modify_date = models.DateTimeField(auto_now_add=True, auto_now=False)
    week = models.DateField( verbose_name="Week date" )
    type = models.CharField(max_length=10, verbose_name="Type")
    value = models.CharField(max_length=4, verbose_name="value")

    history = HistoricalRecords()

    def __unicode__(self):
        return str(self.type)