用AUTH_USER_MODEL覆盖django用户

时间:2018-10-04 16:28:31

标签: python django python-3.x django-models

我已使用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?

1 个答案:

答案 0 :(得分:2)

AbstractUser适用于要将其他字段添加到Django默认值的情况。如果您不希望所有这些字段,请使用AbstractBaseUser