【发布时间】:2015-07-19 07:11:42
【问题描述】:
我正在使用 django-simple-history 来记录数据库模型中的更改历史。当我从模型历史中更改特定值时,在管理面板中可见。但是,当从应用程序编辑或更改值时,历史记录在管理面板中不可见。有什么我想念的吗?
from django.db import models
from simple_history.models import HistoricalRecords
class AcademicYear(models.Model):
academic_year_start = models.PositiveIntegerField(blank=False, null=False, max_length=4)
academic_year_end = models.PositiveIntegerField(blank=False, null=False, max_length=4)
history = HistoricalRecords()
def __unicode__(self):
return "%s-%s" % (self.academic_year_start, self.academic_year_end)
class Activity(models.Model):
activity_name = models.CharField(max_length=100, blank=False)
history = HistoricalRecords()
def __unicode__(self):
return "%s" % self.activity_name
更新
我调查了我的
在视图中,我使用 .update() 而不是 .save() 来更新我的模型值。
activity_obj_list = Activity.objects.filter(activity_name=name)
activity_obj_list.update(activity_name=new_activity_name)
更新功能不会创建历史日志。这是某种错误吗?
【问题讨论】:
-
你设置了中间件吗?
simple_history.middleware.HistoryRequestMiddleware -
我在设置文件中设置了simple_history.middleware.HistoryRequestMiddleware。
标签: django python-2.7 django-models