0
为了记录的目的,我需要将model's save()
中的当前用户信息覆盖。如何从Django模型定义访问用户信息?
我正在写一个日志条目,当一个即时保存。在那个记录中我也需要有当前用户。保存可以在常规视图中进行,我可以访问请求,但在管理会话期间无法访问请求。
我错过了什么吗?
为了记录的目的,我需要将model's save()
中的当前用户信息覆盖。如何从Django模型定义访问用户信息?
我正在写一个日志条目,当一个即时保存。在那个记录中我也需要有当前用户。保存可以在常规视图中进行,我可以访问请求,但在管理会话期间无法访问请求。
我错过了什么吗?
django-cuser
来救援!该库添加了可以在视图中调用的中间件,模型方法等来获取当前用户。它有更多的功能,但实质上你可以在任何模型,modelAdmin等方法中访问当前用户。
有一些方法可以访问用户in modelAdmin instances,但不是在视图和自定义管理实例中都建立方法,而是使用保存方法。
一旦成立,它可以被称为是这样的:
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)
Downvote,真的吗? ¯\ _(ツ)_ /¯ –
这是一个有趣的简单而有用的图书馆。非常感谢指针... –