需要改動三個地方:
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