美文网首页
扩展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