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',也就是使用用户名作为用户唯一标识,那么该字段必须是唯一的