管理员中的django简单历史记录

时间:2011-10-19 15:12:38

标签: django django-admin django-simple-history

我想将管理员视图功能添加到django simple-history。我在模型上创建了一个历史属性,这个模型现在自动出现在管理文档部分,没有任何进一步的代码,但它没有出现在管理部分。我希望用户能够查看更改历史记录并使用most_recent函数应用撤消功能。 你对如何处理这个问题有什么建议吗?

1 个答案:

答案 0 :(得分:6)

如果你的模特是:

from simple_history.models import HistoricalRecords
from django.db import  models

class Poll(models.Model):
    question = models.CharField(max_length = 200)
    pub_date = models.DateTimeField('date published')
    history = HistoricalRecords()

class Choice(models.Model):
    poll = models.ForeignKey(Poll)
    choice = models.CharField(max_length=200)
    votes = models.IntegerField()
    history = HistoricalRecords()

然后你可以拥有一个看起来像这样的管理员:

from django.contrib import admin
from simple_history.admin import SimpleHistoryAdmin
from .models import Poll, Choice

admin.site.register(Poll, SimpleHistoryAdmin)
admin.site.register(Choice, SimpleHistoryAdmin)

或者你可以自定义它......

from django.contrib import admin
from simple_history.admin import SimpleHistoryAdmin
from .models import Poll

class PollAdmin(SimpleHistoryAdmin):
    list_display = ('question', 'pub_date')

admin.site.register(Poll, PollAdmin)