python - 如何在 Django 中获取特定用户日志?
问题描述
我想在我的系统中记录一些用户活动。实际上,我想要的看起来与管理员日志非常相似。我可以使用我在互联网上找到的代码成功保存管理员的日志。系统中有一些重要的操作。这些是;
- 用户屏蔽 (
is_active = False
) - DOA 表更改(这些
approvals | doa table
在管理日志中被调用。) - 角色更改(这些
register | rank change
在管理日志中被调用。) - 创建一个新用户(这些
register | user
在管理日志中被调用。)
所有这些操作都是由角色为“ Lead
”的用户进行的。
这是管理日志的代码:
管理员.py
@admin.register(LogEntry)
class LogEntryAdmin(admin.ModelAdmin):
date_hierarchy = 'action_time'
list_filter = [
'user',
'content_type',
'action_flag'
]
search_fields = [
'object_repr',
'change_message'
]
list_display = [
'action_time',
'user',
'content_type',
'object_link',
'action_flag',
]
def has_add_permission(self, request):
return False
def has_change_permission(self, request, obj=None):
return False
def has_delete_permission(self, request, obj=None):
return False
def has_view_permission(self, request, obj=None):
return request.user.is_superuser
def object_link(self, obj):
if obj.action_flag == DELETION:
link = escape(obj.object_repr)
else:
ct = obj.content_type
link = '<a href="%s">%s</a>' % (
reverse('admin:%s_%s_change' % (ct.app_label, ct.model), args=[obj.object_id]),
escape(obj.object_repr),
)
return mark_safe(link)
object_link.admin_order_field = "object_repr"
object_link.short_description = "object"
它看起来像这样:
我该怎么做?