Skip to content

Instantly share code, notes, and snippets.

@mkouhei
Last active August 29, 2015 14:28
Show Gist options
  • Save mkouhei/c9d764bc513e65eb83c2 to your computer and use it in GitHub Desktop.
Save mkouhei/c9d764bc513e65eb83c2 to your computer and use it in GitHub Desktop.
# -*- coding: utf-8 -*-
import sys
from django.db import models
from django.contrib.auth.models import User
class CustomAuthToken(models.Model):
TOKEN_TYPE_CHOICES = (
('user', 'user'),
('project', 'project'),
('service', 'service'),
)
user = models.OneToOneField(User, primary_key=True)
token = models.CharField(max_length=255, null=False)
expire = models.DateTimeField(null=True, blank=True)
token_type = models.CharField(max_length=7, choices=TOKEN_TYPE_CHOICES)
uid = models.CharField(max_length=255, unique=True, null=True, blank=True)
project_code = models.CharField(max_length=255, unique=True, null=True, blank=True)
class Meta(object):
db_table = 'custom_auth_token'
unique_together = (('token', 'token_type'),
('token', 'user'),)
if sys.version_info < (3, 0):
def __unicode__(self):
if self.project_code:
display_name = self.project_code
elif self.uid:
display_name = self.uid
else:
display_name = self.user.username
return display_name
else:
def __str__(self):
if self.project_code:
display_name = self.project_code
elif self.uid:
display_name = self.uid
else:
display_name = self.user.username
return display_name
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment