欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

django 使用框架下auth.models自带的User进行扩展增加字段

程序员文章站 2022-09-13 23:54:32
需要改动三个地方: 1.models.py 创建模型User,并继承原模型类AbstraUser(在此处我增加了一个新的字段手机号) 2.settings.py 新增设置如下,‘first_app’为你的app的名字,‘User’为models.py中第1步新创建的类名(也就是新的表名,此处仍使用原 ......

需要改动三个地方:

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

 结束,如有不懂或其他见解欢迎添加我的微信交流:zhx799758765