From db714eede74c291dee154ebc15164f3d18681f85 Mon Sep 17 00:00:00 2001 From: Philip Neustrom Date: Tue, 11 Mar 2014 05:19:11 -0700 Subject: [PATCH] Set `user` on the original request as well. In some cases, middleware or signals may attempt to access the original Django `request` object. Because we create our own version of the `request` object, when we set the `request.user` attribute on our request, the original, request object doesn't have the user attribute similarly set. This change sets the underlying request's user attribute. --- rest_framework/request.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rest_framework/request.py b/rest_framework/request.py index ca70b49e7..42ae8561f 100644 --- a/rest_framework/request.py +++ b/rest_framework/request.py @@ -227,6 +227,7 @@ class Request(object): set in the login and logout functions. """ self._user = value + self._request.user = value @property def auth(self): @@ -390,6 +391,7 @@ class Request(object): if not user_auth_tuple is None: self._authenticator = authenticator self._user, self._auth = user_auth_tuple + self._request.user = self._user return self._not_authenticated()