引入 : 

from django.db import models
from django.contrib.auth.models import AbstractBaseUser

源码 : 

from django.contrib.auth.models import User  
(user指的是 auth_user表)
User源码=====》
class User(AbstractUser):
"""
Users within the Django authentication system are represented by this
model. Username and password are required. Other fields are optional.
"""
class Meta(AbstractUser.Meta):
swappable = 'AUTH_USER_MODEL'

增加 auth_user 表的字段

1.setting 设置 :

AUTH_USER_MODEL="app01.UserInfo"     #表示哪张表继承了auth_user表(在给auth_user添加字段用到)

2.增加表字段 :

from django.contrib.auth.models import AbstractUser

class UserInfo(AbstractUser):
r_pwd=models.CharField(max_length=32)

3.数据库迁移 :

python manage.py makemigrations    #同步
python manage.py migrate

4.效果 :

auth_user 表名被改为  auth_userinfo。且添加了一个字段

5.数据迁移 :

makemigrations users 会出错,django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applied before its dependency users.0001_initial on database 'default'.

Django--组件-用户认证Auth(auth_user增加字段)-LMLPHP

05-11 22:09