diff options
| author | Ofir Ovadia | 2015-02-04 16:08:41 +0200 | 
|---|---|---|
| committer | Ofir Ovadia | 2015-02-04 16:08:41 +0200 | 
| commit | 58e7bbc8ecad8016cc18f7dbd31b235cb515b785 (patch) | |
| tree | 15da031a9587fb2277b1361de8ca39f61b9d5424 /rest_framework | |
| parent | 46181341d5579cb7a1b07cd7203b2f94b6c9c119 (diff) | |
| download | django-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')
| -rw-r--r-- | rest_framework/authentication.py | 2 | 
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') | 
