import uuid from django.db import models from django.conf import settings def generate_token(): return uuid.uuid1().hex + uuid.uuid1().hex class ApiToken(models.Model): token = models.CharField('token', max_length=64, unique=True, default=generate_token) purpose = models.CharField('purpose', max_length=128) user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) created = models.DateTimeField(auto_now_add=True) class Meta: db_table = 'api_token' def re_generate(self): self.token = generate_token() self.save()