aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/authentication.py
diff options
context:
space:
mode:
authorOfir Ovadia2015-02-04 16:08:41 +0200
committerOfir Ovadia2015-02-04 16:08:41 +0200
commit58e7bbc8ecad8016cc18f7dbd31b235cb515b785 (patch)
tree15da031a9587fb2277b1361de8ca39f61b9d5424 /rest_framework/authentication.py
parent46181341d5579cb7a1b07cd7203b2f94b6c9c119 (diff)
downloaddjango-rest-framework-58e7bbc8ecad8016cc18f7dbd31b235cb515b785.tar.bz2
Prefetching the user object when getting the token in TokenAuthentication.
Since the user object is fetched 4 lines after getting Token from the database, this removes a DB query for each token-authenticated request.
Diffstat (limited to 'rest_framework/authentication.py')
-rw-r--r--rest_framework/authentication.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/rest_framework/authentication.py b/rest_framework/authentication.py
index 4832ad33..f7601fb1 100644
--- a/rest_framework/authentication.py
+++ b/rest_framework/authentication.py
@@ -167,7 +167,7 @@ class TokenAuthentication(BaseAuthentication):
def authenticate_credentials(self, key):
try:
- token = self.model.objects.get(key=key)
+ token = self.model.objects.select_related('user').get(key=key)
except self.model.DoesNotExist:
raise exceptions.AuthenticationFailed('Invalid token')