为什么元类给出抽象错误?

问题描述 投票:0回答:2

当我将

abstract = True
添加到此代码时:

customUser(AbstractBaseUser,PermissionsMixin):
    id = models.autofield(primary_key = True)

    class Meta:
        verbose_name = 'User'
        verbose_name_plural = 'Users'
        abstract = True

它正在返回此错误:

django.core.exceptions.ImproperlyConfigured:AUTH_USER_MODEL 指的是模型 core.CustomUser' 尚未安装,但 settings.py 已正确设置。

为什么会出现这种情况?

django metaclass
2个回答
1
投票

abstract = True
意味着,它不会为该模型创建数据库表。因此,它不能用作用户模型或用于身份验证、登录。

参考


0
投票

引用抽象的用户模型是没有意义的。抽象意味着该模型没有表。通常,抽象模型用于在其他(非抽象,即具体)模型中继承。

因此,如果您使用抽象模型作为用户模型,那么您将如何注册(即创建)新用户、获取这些用户登录等?

因此,您应该始终将非抽象模型称为

AUTH_USER_MODEL
 [Django-doc]

© www.soinside.com 2019 - 2024. All rights reserved.