【问题标题】:django simple-history in admin管理员中的 django 简单历史记录
【发布时间】:2011-10-19 15:12:37
【问题描述】:

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

【问题讨论】:

  • 已通过向管理员添加自定义视图来解决此问题。
  • 请将您的解决方案作为答案发布,如果有效,请接受它。

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


【解决方案1】:

如果您的模型是:

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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-04
    相关资源
    最近更新 更多