使用django1.7管理页面,我希望Person对象在保持注释字段的历史记录的同时拥有一个惟一的注释。 这是我的代码:
class Note(models.Model):
note = models.TextField(blank=True, default='')
date = models.DateTimeField(auto_now_add=True)
def __unicode__(self):
return self.note
class NoteHist(models.Model):
id = models.AutoField(primary_key=True)
note = models.ForeignKey('Note')
def __unicode__(self):
return str(self.note)
class Person(models.Model):
name = models.CharField(max_length=20, primary_key=True)
note = models.ForeignKey('NoteHist')
def __unicode__(self):
return self.name
首先,当按下注释对话框上的save按钮时,弹出窗口会重定向到一个空白页面,就好像它被破坏了一样;但是我可以刷新主管理页面来列出注释。 第二,笔记不是针对个人的。我的意思是人2可以选择一个人写的笔记。 我只想显示一个特定的人写的最后一个笔记,同时保留他的笔记的历史。 顺便说一句,我不需要在管理页面中显示历史记录,如果这样更容易的话。 请用这个来指导我。在
基本思想是在每次更新Note对象时,通过重写Note的“save”方法来创建NoteHist的新实例。在
这里有一个类似的问题:Store versioned history of Field in a Django model
显然,有一个包在每次创建/更新/删除时存储Django模型状态,还支持与Django-admin的集成:https://github.com/treyhunner/django-simple-history
相关问题 更多 >
编程相关推荐