Django自定义用户表
背景
有时候我们需要自己定义django用户表,而django也提供了这样的接口供我们使用
使用
在项目settings.py文件中添加配置项
1
2
3# django认证系统使用的模型类,
# 当配置该选项后,创建迁移时,就不会再使用默认的auth_user,而是使用该配置指向的数据表
AUTH_USER_MODEL = 'users.User'在创建User表的模型类的时候,让其继承AbstractUser类
1
2
3
4
5
6
7
8
9
10
11
12# 导入AbstractUser类
from django.contrib.auth.models import AbstractUser
# BaseModel是我们自定义的模型基类,里面定义了所有表都有的字段信息
# 通过该方法生成User表后,django就不会再生成默认的django_user表了
class User(AbstractUser, BaseModel):
'''用户个人信息表'''
class Meta:
db_table = 'df_user'
verbose_name = '用户'
verbose_name_plural = verbose_name(号外)当我们需要往用户表中插入数据的时候,可以直接使用create_user方法,更加的快捷
1
2# create_user方法的返回值是插入进表的数据本身
new_user = User.objects.create_user(username=username, password=password, email=email)