1

我已按照Django-simple-history文档从管理页面显示历史记录,但不知何故,管理页面似乎没有显示历史记录。我正在使用 Django 版本 3.1.2

这是我的管理员

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

admin.site.register(Company, SimpleHistoryAdmin)
4

1 回答 1

0

你可以这样试试:

假设您的Company模型中只有一个字段,即name字段,因此模型将如下所示:

模型.py

from django.db import models

class Company(models.Model):
    name = models.CharField(max_length=200)

现在从模型中导入HistoricalRecordssimple_history.models并添加历史字段Company

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

class Company(models.Model):
    name = models.CharField(max_length=200)
    history = HistoricalRecords()

    def __str__(self):
        return self.name

现在创建一个名为CompanyHistoryAdmininadmin.pySimpleHistoryAdmin类,方法是在从simple_history.admin. 见下面的代码:

管理员.py

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

# Register your models here.
class CompanyHistoryAdmin(SimpleHistoryAdmin):
    list_display = ['id', 'name']
    history_list_display = ['status']
    search_fields = ['name']

admin.site.register(Post, CompanyHistoryAdmin)

list_display列表将以行和两列的形式显示记录,即管理部分中的id& name。使用search_fields您可以通过名称或您提供的任何其他字段搜索管理部分中的记录。并将history_list_display显示您想查看的任何记录的状态。要查看记录的历史记录,请单击任何记录,然后单击右上角的历史记录按钮。

更多信息请阅读文档。

于 2020-11-24T13:16:25.497 回答