zoukankan      html  css  js  c++  java
  • 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应用下的所有迁移文件,重新迁移!

  • 相关阅读:
    信号、事件与状态
    信号处理机制的范式分析
    三寒两倒七分饱
    血热的人吃什么好
    消息、信息与信号的区别
    Busy waiting
    事件的处理机制:单播、广播、链式路由、职责链。
    事件处理:pull与push
    响应式编程
    类、组件、人机交互
  • 原文地址:https://www.cnblogs.com/chichung/p/9951119.html
Copyright © 2011-2022 走看看