当前位置: 代码迷 >> python >> 用AUTH_USER_MODEL覆盖django用户
  详细解决方案

用AUTH_USER_MODEL覆盖django用户

热度:21   发布时间:2023-07-16 10:20:13.0

我已经使用AUTH_USER_MODEL覆盖了我应用程序中的默认用户模型。

这是我要在我的应用程序中使用的用户模型,该模型与旧数据库紧密相关:

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

class User(AbstractUser):
    name = models.CharField(max_length=128, blank=True)
    email = models.EmailField(unique=True)
    password = models.CharField(max_length=128)
    is_active = models.BooleanField(default=True)
    is_admin = models.BooleanField(default=False)
    date_joined = models.DateTimeField(default=timezone.now)
    normalized_email = models.EmailField(unique=True)    

但是,django抱怨没有提供诸如first_namelast_name等字段。 有没有办法删除User模型中的某些现有字段? 还是指定自定义用户模型仅允许您在此之上添加其他字段? 有没有简单的方法可以删除它们,或者我是否必须将这些字段添加到我们现有的数据库中(并忽略它们)才能使用django?

当您要将其他字段添加到Django的默认值时,则使用AbstractUser 如果您不希望所有这些字段,请使用 。