12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- from django.db import models
- from django.contrib.auth.models import BaseUserManager, AbstractBaseUser
- identities = [
- ('user', 'user'),
- ('admin', 'administrator'),
- ]
- class UserManager(BaseUserManager):
- def create_user(self, username, password):
- if password == None or username == None:
- raise ValueError("用户名或密码为空")
- user = self.model(
- username = username,
- displayname = username,
- identity = 'user',
- )
- user.set_password(password)
- user.save()
- return user
-
- def create_superuser(self, username, password):
- if password == None or username == None:
- raise ValueError("用户名或密码为空")
- user = self.model(
- username = username,
- displayname = username,
- identity = 'admin',
- )
- user.set_password(password)
- user.save()
- return user
- # Create your models here.
- class User(AbstractBaseUser):
-
- username = models.CharField(max_length=50, unique=True)
- password = models.CharField(max_length=100)
- displayname = models.CharField(max_length=32)
- create_time = models.DateField(auto_now_add=True)
- identity = models.CharField(default='user', max_length=16, choices=identities)
-
- objects = UserManager()
- USERNAME_FIELD = 'username'
- REQUIRED_FIELDS = []
-
- def is_admin(self):
- if self.identity == 'admin':
- return True
- else:
- return False
-
- class Meta:
- app_label = 'api'
|