Fork me on GitHub

AbstractUser用户模型类



AbstractUser介绍
  • User对象基本属性
    •   创建用户必选:username、password
    • 创建用户可选:email、first_name、last_name、last_login、date_joined、is_active 、is_staff、is_superuse  
  • 自定义用户模型类

  

from django.contrib.auth.models import AbstractUser



#重写用户模型类,继承了AbstractUser
class User(AbstractUser):
    """自定义用户模型类"""

    #在用户模型类中新增phone字段
    phone = models.CharField(max_length=21)
    #对当前表进行相关设置
    class Meta:
        db_table = 'ch_user'

 

指定用户模型类

    • Django 用户模型类是通过全局配置项 AUTH_USER_MODEL 决定的
      又因为我们重写了用户模型类, 所以我们需要重新指定默认的用户模型类:
    • 在 settings.py 文件中添加如下代码:
AUTH_USER_MODEL='users.User'

 

重写User表中的字段

class User(AbstractUser):
    user_name = models.CharField(max_length=50,unique=True)
   username = None
   USERNAME_FIELD = 'user_name' #对当前表进行相关设置 class Meta: db_table = 'ch_user'

 

ps:如果使用USERNAME_FIELD = 'user_name',也就是使用用户名作为用户唯一标识,那么该字段必须是唯一的

 

  

posted @ 2021-01-26 16:11  梦鑫  阅读(135)  评论(0编辑  收藏  举报