aboutsummaryrefslogtreecommitdiffstats
path: root/djangorestframework/tokenauth/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'djangorestframework/tokenauth/models.py')
-rw-r--r--djangorestframework/tokenauth/models.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/djangorestframework/tokenauth/models.py b/djangorestframework/tokenauth/models.py
index 3b9a55bc..b5a9f7b9 100644
--- a/djangorestframework/tokenauth/models.py
+++ b/djangorestframework/tokenauth/models.py
@@ -1,16 +1,22 @@
+import uuid
from django.db import models
class BaseToken(models.Model):
"""
The base abstract authorization token model class.
"""
- key = models.CharField(max_length=32, primary_key=True)
+ key = models.CharField(max_length=32, primary_key=True, blank=True)
user = models.ForeignKey('auth.User')
revoked = models.BooleanField(default=False)
class Meta:
abstract=True
+ def save(self, *args, **kwargs):
+ if not self.key:
+ self.key = uuid.uuid4().hex
+ return super(BaseToken, self).save(*args, **kwargs)
+
class Token(BaseToken):
"""