分享

Django——auth_user

 新进小设计 2021-07-10

一、User对象的属性

is_staff : 用户是否拥有网站的管理权限,是否可以登录到后台管理 1代表True
is_superuser:是否是超级管理员(如果is_staff=1,可以任意增删查改任何表数据)
is_active : 是否允许用户登录, 设置为 False,可以在不删除用户的前提下禁止用户登录(三次密码输入错误禁用用户)

二、扩展默认的auth_user表

1 内置的auth_user表,要加字段,加不了,扩展该表
    -方式一:一对一 (传统方式)
    -方式二,通过继承
    
    # 方式二:通过继承,一定要记住再setting中配置
    ## 重点:使用这种方式,一开始就要用
    from django.contrib.auth.models import AbstractUser
    class User(AbstractUser):
        # id=models.AutoField(primary_key=True)
        # username = models.CharField(max_length=128)
        phone = models.CharField(max_length=32)
        addr = models.CharField(max_length=32)
        
    ## setting.py中
'''
# 引用Django自带的User表,继承使用时需要设置
AUTH_USER_MODEL = "app名.UserInfo"
'''
    AUTH_USER_MODEL = "app01.User"

代码:

 

 

三、如果项目一开始没有扩展auth_user表,后期想扩展的操作步骤

1 备份--删库---》重新创建出数据库
2 所有app的数据迁移记录删除migrations下除了__init__.py都删除
3 (重要!!!)去源码中删除auth和admin 这俩app的migrations下除了__init__.py都删除
4 数据迁移,同步到数据库
5 备份的数据,恢复回去

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多