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

我需要通过我的
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)

dawei

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

相关文章