美文网首页
扩展auth-user表

扩展auth-user表

作者: warmsirius | 来源:发表于2019-08-16 19:02 被阅读0次

    参考博客

    写在前面

    有时候业务在用户表中的字段不在auth-user的表,这时候需要我们来扩展auth-user表。

    扩展auth-user表

    通过继承内置的 AbstractUser 类,来定义一个自己的Model类。这样既能根据项目需求灵活的设计用户表,又能使用Django的auth模块了。

    from django.contrib.auth.models import AbstractUser
    class UserInfo(AbstractUser):
        """
        用户信息表
        """
        nid = models.AutoField(primary_key=True)
        phone = models.CharField(max_length=11, null=True, unique=True)
    
        def __str__(self):
            return self.username
    

    注意: 按上面的方式扩展了内置的auth_user表之后,一定要在settings.py中告诉Django,现在使用我新定义的UserInfo表来做用户认证。写法如下:

    # settings.py
    
    
    # 引用Django自带的User表,继承使用时需要设置
    AUTH_USER_MODEL = "app名.UserInfo"
    

    注意: 一旦我们指定了新的认证系统所使用的表,我们就需要重新在数据库中创建该表,而不能继续使用原来默认的auth_user表了。

    相关文章

      网友评论

          本文标题:扩展auth-user表

          本文链接:https://www.haomeiwen.com/subject/tpaqsctx.html