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应用下的所有迁移文件,重新迁移!