Django AUTH_USER_MODEL 指向未安装的模型 'powerlistapp.appuser' 错误

1 投票
2 回答
22 浏览
提问于 2025-04-14 15:53

我有一个模型,内容如下:

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

class AppUser(AbstractUser):
    user_department = models.CharField(max_length=100)
    user_group_email = models.EmailField(max_length=100)
    user_company_id = models.CharField(max_length=8)

    def __str__(self):
        return f"{self.username} {self.last_name} {self.user_department}"

class PowerCustomer(models.Model):  
    customer_name = models.CharField(max_length=100)
    customer_surname = models.CharField(max_length=100)
    customer_birth_date = models.DateField()
    customer_phone_number = models.CharField(max_length=50)
    customer_email = models.EmailField()
    customer_origin_country = models.CharField(max_length=100)
    customer_has_high_priority = models.BooleanField(default=False)
    customer_creation_date = models.DateField()
    customer_loyalty_membership_number = models.CharField(max_length=100)
    customer_job_type = models.CharField(max_length=100)
    customer_description = models.CharField(max_length=370)
    user = models.ForeignKey(AppUser, on_delete=models.SET_NULL, null=True, related_name='power_customers')
    

    def __str__(self):
        return f"{self.customer_name} {self.customer_surname} {self.customer_job_type} {self.customer_description}"

我已经正确配置了安装的应用,具体如下:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    'powerlistapp',
]

我也配置了我的认证用户,内容如下:

AUTH_USER_MODEL = 'powerlistapp.AppUser',,

但是当我想进行数据库迁移时,出现了这个错误。

    raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: AUTH_USER_MODEL refers to model 'powerlistapp.appuser' that has not been installed

我已经删除了我的数据库,清除了所有的迁移文件,然后重新运行了 python3 manage.py makemigrations 等命令。

2 个回答

-1

试着在你的终端里运行:

python manage.py makemigrations powerlistapp

然后再运行

python manage.py migrate

如果这个方法没有解决问题,你能不能把你的项目结构(目录和文件名)发过来?

0

为了解决这个问题,我把设置文件中的 AUTH_USER_MODEL = 'powerlistapp.AppUser' 这一行删掉了。然后我进行了数据库迁移,问题就解决了。之后我又把相关的代码重新放回到设置文件里。这个方法对我有效,希望对大家也有用。

撰写回答