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

前端之家收集整理的这篇文章主要介绍了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)

猜你在找的Python相关文章