当前位置: 首页 > 工具软件 > userauth > 使用案例 >

Django中自定义auth_user表

陆畅
2023-12-01

在创建Django模型时,有时候自带的auth_user表不符合我们自身的要求,这时就需要自定义父类的auth_user。

  1. 在models.py中创建新的用户类,并继承系统自带的AbstractUser
from django.db import models
from django.contrib.auth.models import AbstractUser


class AdminUser(AbstractUser):
    # 继承了AbstractUser拥有的所有字段
    # 自定义我们需要的字段
    sex = models.BooleanField(blank=False, default=1, verbose_name='性别', null=False)
    last_login = models.IntegerField(default=0)  # 重建父类last_login字段

  1. 在项目的setting.py文件中指定AUTH_USER_MODEL为我们自定义的用户类
# AUTH_USER_MODEL = "app名称.新建的用户类名称"
AUTH_USER_MODEL = "testModel.AdminUser"
  1. 在要使用user的地方,引入我们自定义的用户类即可操作
from testModel.models import AdminUser
from django.shortcuts import HttpResponse


def add_user(request):
    add = AdminUser(username='test_user')
    add.save()
    return HttpResponse("<p>数据添加成功!</p>")

这样数据库中就没有auth_user这个表了,而是由adminuser取代了,以后凡是要用到User的地方 都用adminuser替代, auth 所具有的方法,使用方式一样

 类似资料: