需要改动三个地方:
1.models.py 创建模型User,并继承原模型类AbstraUser(在此处我增加了一个新的字段手机号)
from django.db import models # Create your models here. from django.contrib.auth.models import AbstractUser class User(AbstractUser): tel = models.CharField(max_length=11, unique=False, verbose_name='手机号')
2.settings.py 新增设置如下,‘first_app’为你的app的名字,‘User’为models.py中第1步新创建的类名(也就是新的表名,此处仍使用原来自带的表名)
# 继承原User表设置 AUTH_USER_MODEL = 'first_app.User'
3.此处有一个坑,大多数博客都没写此步骤,如代码中,注释掉的是之前我们使用框架自带的User类时所导入的User,而从当前目录models中导入的User才是我们扩展后使用的User,因为继承后原User已经被替换,此处不改会报错的:
error:Manager isn't available; 'auth.User' has been swapped for 'first_app.User' in Django
# from django.contrib.auth.models import User from .models import User