django自定义用户表

django自带了用户表。

-- auto-generated definition
create table auth_user
(
  id           int auto_increment
    primary key,
  password     varchar(128) not null,
  last_login   datetime(6)  null,
  is_superuser tinyint(1)   not null,
  username     varchar(150) not null,
  first_name   varchar(30)  not null,
  last_name    varchar(30)  not null,
  email        varchar(254) not null,
  is_staff     tinyint(1)   not null,
  is_active    tinyint(1)   not null,
  date_joined  datetime(6)  not null,
  constraint username
  unique (username)
);

 

如果我们需要添加某些字段,可以这样做:

class User(AbstractUser):
    """用户模型类"""
    mobile = models.CharField(max_length=11, verbose_name='手机号') 
    
    class Meta:
        db_table = 'tb_users'

 

还没结束,因为这时候有两个User类(自带的,和我们定义的),所以需要在设置文件指定用我们自定义的表:

# 在项目配置文件中,指定使用自定义的用户模型类
AUTH_USER_MODEL = 'user.User'

 

注意:

1. 必须确保在执行第一次迁移之前,就定义好User类并配置好AUTH_USER_MODEL属性,否则迁移时会出错
2. 如果因以上原因出错,解决方式:删除所有数据库表以及users应用下的所有迁移文件,重新迁移!

posted @ 2018-11-13 11:02  苦瓜爆炒牛肉  阅读(522)  评论(0编辑  收藏  举报