2019-04-03 User模型

重写django User 模型

class UserManager(BaseUserManager):

    def _create_user(self,email,username,password,**kwargs):
        if not email:
            raise ValueError('请输入邮箱地址!')
        if not username:
            raise ValueError('请输入用户名!')
        if not password:
            raise ValueError('请输入登录密码!')
        user = self.model(email=email,username=username,**kwargs)
        user.set_password(password)
        user.save()
        return user

    def create_user(self,email,username,password,**kwargs):
        kwargs['is_superuser'] = False
        return self._create_user(email,username,password,**kwargs)

    def create_superuser(self,email,username,password,**kwargs):
        kwargs['is_superuser'] = True
        return self._create_user(email, username, password, **kwargs)

class User(AbstractBaseUser,PermissionsMixin):
    #主键使用shortuuid
    uid = ShortUUIDField(primary_key=True)
    email = models.EmailField(unique=True,max_length=100)
    # password = models.CharField(max_length=20)
    username = models.CharField(max_length=100)
    is_active = models.BooleanField(default=True)
    is_staff = models.BooleanField(default=False)
    data_joined = models.DateTimeField(auto_now_add=True)

    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = ['username']
    EMAIL_FIELD = 'email'

    objects = UserManager()

    def get_full_name(self):
        return self.username

    def get_short_name(self):
        return self.username
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • django——重写用户模型 Django内建的User模型可能不适合某些类型的项目。例如,在某些网站上使用邮件地...
    常大鹏阅读 26,568评论 2 29
  • 已经同步到gitbook,想阅读的请转到gitbook: Django 1.10 中文文档 This tutori...
    leyu阅读 2,928评论 3 13
  • 全文链接 第一章 创建一个blog应用第二章 使用高级特性来增强你的blog第三章 扩展你的blog应用第四章上 ...
    夜夜月阅读 7,141评论 25 27
  • Django 模型定义 Django 模型是使用 Python 代码对数据库中数据的描述,是数据的结构,包含数据的...
    Am3阅读 1,412评论 0 2
  • 半个月,自己终于冷静下来,无论是对生活,还是对工作。我以为要1个月,呵呵,这次有进步了。 生活的初心:和惜恩好好生...
    Zeteo阅读 217评论 0 1

友情链接更多精彩内容