首页 > 其他分享 >Django当中自定义的用户模型类(继承django中的AUTH模型类)

Django当中自定义的用户模型类(继承django中的AUTH模型类)

时间:2022-09-29 10:44:46浏览次数:70  
标签:name 自定义 models 模型 用户 AUTH Django verbose

Django认证系统中提供的用户模型类及方法很方便,我们可以使用这个模型类,但是字段有些无法满足项目需求,因此需要自己再自定义字段。Django提供了django.contrib.auth.models.AbstractUser用户抽象模型类允许我们继承,扩展字段来使用Django认证系统的用户模型类。

1.在创建好的应用models.py中定义用户的用户模型类。

from django.db import models
from django.contrib.auth.models import AbstractUser

# Create your models here.


class User(AbstractUser):
    mobile = models.CharField(max_length=15, unique=True, verbose_name='手机号')
    money = models.DecimalField(max_digits=9, default=0.0, decimal_places=2, verbose_name="钱包余额")
    credit = models.IntegerField(default=0, verbose_name="积分")
    avatar = models.ImageField(upload_to="avatar/%Y", null=True, default="", verbose_name="个人头像")
    nickname = models.CharField(max_length=50, default="", null=True, verbose_name="用户昵称")

    class Meta:
        db_table = 'lf_users'
        verbose_name = '用户信息'
        verbose_name_plural = verbose_name

2.在settings配置文件中进行配置(自定义的用户模型类还不能直接被Django的认证系统所识别,需要在配置文件中告知Django认证系统使用我们自定义的模型类。)

 

AUTH_USER_MODEL = 'users.User'
# AUTH_USER_MODEL 参数的设置以点.来分隔,表示应用名.模型类名

 

注意:Django建议我们对于AUTH_USER_MODEL参数的设置一定要在第一次数据库迁移之前就设置好,否则后续使用可能出现未知错误。

 

标签:name,自定义,models,模型,用户,AUTH,Django,verbose
From: https://www.cnblogs.com/shaoyishi/p/16740626.html

相关文章

  • [答疑]贪吃蛇的领域模型
    ​​软件方法(下)分析和设计第8章连载[20210723更新]>>​​海贼王Fans!!(94***437)14:59:52贪吃蛇的领域模型:贪吃蛇的设计模型:潘加宇(3504847)9:00:37工厂。。。不属于核心......
  • EFCore实体优先,模型驱动开发
    以下代码在”程序包管理控件器“窗口执行,且必须添加:Microsoft.EntityFrameworkCore.Tools包根据实体类生成迁移代码:add-migrationInitialCreate执行数据库迁移代码......
  • SpringBoot系列——加载自定义配置文件
    Java开发过程中,一些配置信息不想写到application.properties里面去,想自己弄一个配置文件,然后加载。例子如下:Employee.java类核心代码:@Configuration//用来标注一个自定......
  • 【Java基础】自定义异常类
    1.自定义异常类(1)继承现有异常类:比如RuntimeException、Exception。(2)提供全局常量:serialVersionUID。(3)提供重载构造器。publicclassValueExceptionextendsException......
  • C++ 内存模型与顺序一致性
    目录顺序一致性什么是内存模型?什么是顺序一致性?强顺序与弱顺序顺序一致性与内存模型的强弱顺序C++内存顺序(memory_order)memory_order有哪些?如何使用memory_order?顺序一致......
  • Go基础编程:自定义函数
    定义格式函数构成代码执行的逻辑结构。在Go语言中,函数的基本组成为:关键字func、函数名、参数列表、返回值、函数体和返回语句。Go语言函数定义格式如下:funcFuncName(/*参......
  • Catalyst 9800 Series Supported Combination of Authentications for a Client
    TheMultipleAuthenticationsforaClientfeaturesupportsmultiplecombinationofauthenticationsforagivenclientconfiguredintheWLANprofile.Thefollo......
  • element的el-table表格自定义表头解决数据不更新问题
    解决方法element官网上el-table上使用插槽slot=“header”来实现自定义表头,在表头中使用el-select组件选择不同的状态,无法展示选择后的状态,或者其他需要动态更新表头数......
  • 自定义toString()方法检测对象类型时的返回值[object x](JS)
    如果想通过 Object.prototype.toString()方法来检测对象类型,则需要以 Function.prototype.call() 或者 Function.prototype.apply() 的形式来调用toString()方法。......
  • 音频质量检测模型中标准数据集的构建方法
    背景音频质量检测模型训练中,纯净高质量的音频数据集比较好获得,但是损伤音频的数据集比较少,而且损伤音频的质量得分也很难评估。我们采用了一种只依靠纯净高质量的语音数据集......