我需要在model's save()
覆盖中获取当前用户信息以进行日志记录。
即时保存时,我正在写一个日志条目。在该记录中,我还需要拥有当前用户。保存可以在常规视图中进行,我可以访问请求,但是在管理会话中我无法访问请求。
我错过了什么吗?
答案 0 :(得分:0)
django-cuser
救援!该库添加了可以在视图,模型方法等中调用的中间件,以获取当前用户。它具有更多功能,但实质上您可以在任何模型,modelAdmin等方法中访问当前用户。
有一些方法可以访问用户in modelAdmin instances,但不是在视图和自定义管理实例中构建方法,而是坚持使用save方法。
设置完成后,可以这样调用:
from cuser.middleware import CuserMiddleware
class SomeModel(models.Model):
def save(self, *args, **kwargs):
user = CuserMiddleware.get_user()
# you can now access any attributes of the current user
super(SomeModel,self).save(*args, **kwargs)