django 使用框架下auth.models自帶的User進行擴展增加字段


需要改動三個地方:

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM