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