首页 Python python – 为Django应用程序中的用户添加动作的日志条目

python – 为Django应用程序中的用户添加动作的日志条目

我需要通过我的 django应用程序中的视图创建用户对数据库所做更改的日志条目. 我启用了django-admin模块,我可以检索使用管理界面进行的更改的日志,如下所示: from django.contrib.admin.models import LogEntryfrom django.contrib.contenttypes.models impo

我需要通过我的
django应用程序中的视图创建用户对数据库所做更改的日志条目.

我启用了django-admin模块,我可以检索使用管理界面进行的更改的日志,如下所示:

from django.contrib.admin.models import LogEntry
from django.contrib.contenttypes.models import ContentType

recentActions = LogEntry.objects.all()

for each in recentActions:
    print 'Action:',each.action_flag.__str__()
    print 'Message:',each.object_repr
    print 'Table:',ContentType.objects.get(id = each.content_type_id).name

我想为使用我的django应用程序中的视图的其他用户完成的操作创建类似的日志条目.我该怎么做?

解决方法

你很近您只需要创建新的LogEntry对象并保存它们. LogEntry对对象有一个快捷功能.

from django.contrib.admin.models import LogEntry,ADDITION,CHANGE

LogEntry.objects.log_action(
            user_id=request.user.id,content_type_id=ContentType.objects.get_for_model(model_object).pk,object_id=object.id,object_repr=unicode(object.title),action_flag=ADDITION if create else CHANGE)

本文来自网络,不代表青岛站长网立场。转载请注明出处: https://www.0532zz.com/html/kaifa/python/20210111/14956.html
上一篇
下一篇

作者: dawei

【声明】:青岛站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

返回顶部