From b449a7ba682ef8268a90a1dae5a0b505101860b4 Mon Sep 17 00:00:00 2001 From: Ilya Moroz Date: Mon, 2 Nov 2015 11:23:35 +0200 Subject: [PATCH] removed the possibility of conflict with the key generation --- rest_framework/authtoken/models.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/rest_framework/authtoken/models.py b/rest_framework/authtoken/models.py index b329ee65f..b542c756d 100644 --- a/rest_framework/authtoken/models.py +++ b/rest_framework/authtoken/models.py @@ -31,7 +31,13 @@ class Token(models.Model): def save(self, *args, **kwargs): if not self.key: - self.key = self.generate_key() + while True: + generated_key = self.generate_key() + try: + self.objects.get(key=generated_key) + except: + self.key = generated_key + break return super(Token, self).save(*args, **kwargs) def generate_key(self):