django.core.exceptions.ImproperlyConfigured:AUTH_USER_MODEL 指的是尚未安装的模型“api.User”

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

我刚刚创建 Django 项目并收到此错误

django.core.exceptions.ImproperlyConfigured:AUTH_USER_MODEL 指的是尚未安装的模型“api.User”

这是我的文件

设置

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    "rest_framework",
    "api",
]

AUTH_USER_MODEL = "api.User"

型号


from django.db import models
from django.contrib.auth.models import AbstractUser
from django.contrib.auth import get_user_model
class User(AbstractUser):
    ACTIVE = 0
    DEACTIVE = 1
    STATUS = [
        (ACTIVE,"active"),
        (DEACTIVE,"deActive")
    ]
    
    chatID = models.PositiveBigIntegerField()
    fname = models.CharField(max_length=20)
    lname = models.CharField(max_length=20)
    invitedBy = models.ForeignKey(to=get_user_model(),on_delete=models.PROTECT,default=None)
    point = models.PositiveBigIntegerField(default=0)
    team = models.ForeignKey(to=TelegramGroup,on_delete=models.CASCADE)
    custom_status = models.PositiveSmallIntegerField(choices=STATUS,default=0)
    
    def __str__(self) -> str:
        return self.chatID

当我删除所有字段并像这样设置用户表时

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

class User(AbstractUser):
    pass

我没有收到任何错误

python-3.x django django-models django-rest-framework
1个回答
0
投票

invitedBy
字段引用相同的模型,所以你必须这样声明它:

invitedBy = models.ForeignKey('self',on_delete=models.PROTECT,default=None)
© www.soinside.com 2019 - 2024. All rights reserved.