加入收藏 | 设为首页 | 会员中心 | 我要投稿 鄂州站长网 (https://www.0711zz.com/)- 数据分析、网络、云渲染、应用安全、大数据!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2021-01-11 09:09:39 所属栏目:Python 来源:互联网
导读:我需要通过我的 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)

(编辑:鄂州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读