Django admin 本身会对用户在 admin 页面上作出的所有修改操作记录日志,存储在数据库的 django_admin_log 表里。如下:
但是在 admin 页面中并没有显示日志表。
为了主动显示该日志表,笔者在 admin.py 中加入了如下类:
from django.contrib import admin
@admin.register(admin.models.LogEntry)
class LogEntryAdmin(admin.ModelAdmin):
"""
该类用于显示 admin 内置的 django_admin_log 表。
其中,content_type 是指用户修改的 Model 名
"""
list_display = ['action_time', 'user', 'content_type', '__str__']
list_display_links = ['action_time']
list_filter = ['action_time', 'content_type', 'user']
list_per_page = 15
readonly_fields = ['action_time', 'user', 'content_type',
'object_id', 'object_repr', 'action_flag', 'change_message']
显示效果如下: