0

可以访问模型类中的用户主体吗?

例如,在 java 中,在 ejb 类中,始终有可用的 ejbcontext 变量为您提供调用者详细信息(经过身份验证的用户)

我想知道有什么方法可以在模型类中的 django 中得到这个

显然我可以将 request.user 传递给模型类,但这很麻烦。

4

1 回答 1

1

您的问题并不太清楚,但我猜您希望从模型实例“自动”访问当前用户。

简短的回答是否定的,这是不可能的。

由于模型可以从正常的请求-响应流之外(例如,从 cronjob 脚本)进行操作,因此用户甚至可能不存在。除此之外,请求和经过身份验证的用户是视图域(MVC 控制器),而不是模型。

您将获得的最好的方法是将 request.user 手动传递给您想要使用它们的模型方法。您可以使用 python 执行框架和模块来做一些魔术inspect,但显式确实比隐式好得多。而且,就像我之前说的,request.user(甚至 request 本身)并不总是存在。

于 2011-04-11T14:22:56.620 回答