Django最方便的一点,是自带用户系统,但有些情况下,不符合项目需求,
原因1.我们有时候需要自定义一些字段,或者删除Django自带字段,2.我们有时候需要定义哪些字段是必填的,登陆时的用户名是哪个,不一定是默认的username, 3.有的项目需要在用户的模型类中,定义权限的相关内容.
所以---自定义用户模型,是Django项目中,最常见的需求..
做法:
最简单的方法:
1.继承 BaseUserManager或者是AbstractBaseUser,在setting.py中,配置AUTH_USER_MODEL,指定用户的模型类
2.也可以继承自UserManager或者AbstractUser