Django管理员操作日志记录:如何显示字段更改的初始值和结果值?

时间:2015-09-25 11:38:22

标签: django django-models django-admin django-logging

我想在我的django项目中添加管理员更改的日志记录。我通过LogEntry模型完成了一些工作:

from django.contrib.admin.models import LogEntry

class LogEntryAdmin(admin.ModelAdmin):
    list_display = ('__str__', 'action_time', 'user', 'content_type', 'object_id', 'object_repr', 'action_flag', 'change_message')
    list_filter = ('content_type',)
    search_fields = ['user__username',]
    date_hierarchy = 'action_time'

admin.site.register(LogEntry, LogEntryAdmin)

这很好,如果我更改数据库中某个对象的某个字段,我可以看到该操作的日志条目。但是在这个日志条目中,我只能看到"字段已被更改",我还想查看该字段的初始值和结果值。我怎样才能实现这个功能?

1 个答案:

答案 0 :(得分:0)

您可以扩展LogEntry类并添加自定义字段,然后使用pres_savepost_save等将所需条目存储到自定义模型中。