Django.core.exceptions.ImproperlyConfigured: AUTH_USER_MODEL ссылается на модель 'app.User', которая не была установлена

Этот вопрос задавался много раз, но я задаю его, потому что все еще не могу найти никакого рабочего решения. Я пытаюсь создать пользовательскую модель пользователя с помощью AbstractBaseUser внутри приложения myapp, я написал имя приложения внутри INSTALLED_APPS и команду AUTH_USER_MODEL = 'myapp.User' внутри settings.py. Команда python manage.py makemigrations --dry-run работает отлично без ошибок, когда моя пользовательская модель пользователя хранится в стандартном расположении файла модели по адресу backend/myapp/models.py, но я хочу переименовать и переместить этот файл в каталог backend/myapp/models/user.py и сохранить его вместе с другими моделями. Всякий раз, когда я пытаюсь переместить или переименовать файл backend/myapp/models.py, содержащий мою пользовательскую модель, Django выдает ошибку django.core.exceptions.ImproperlyConfigured. Нужна помощь. Спасибо

backend/myapp/models.py:

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

class User(AbstractBaseUser):
    id = models.CharField(max_length=15, null=False, blank=False, primary_key=True, unique=True)

    USERNAME_FIELD = "id"

Current folder structure:

[backend]/
├── [core]/
│   ├── __pycache__/
│   ├── __init__.py
│   ├── asgi.py
│   ├── settings.py
│   ├── urls.py
│   ├── wsgi.py
├── [env]/
├── [myapp]/
│   ├── __pycache__/
│   ├── migrations/
│   ├── __init__.py
│   ├── admin.py
│   ├── apps.py
│   ├── models.py
├── manage.py

django.core.exceptions.ImproperlyConfigured:

В settings.py Добавить myapp в INSTALLED_APPS

INSTALLED_APPS = [
    ...,
    'myapp',
]

I User model add app_label = 'myapp' like

class User(AbstractBaseUser):
    id = models.CharField(max_length=15, null=False, blank=False, primary_key=True, unique=True)

    USERNAME_FIELD = "id"

    class Meta:
        app_label = 'myapp' 

Если вы хотите перенести модель в отдельный файл. Структура каталога должна иметь вид

myapp
   models
       __init__.py
       user.py

Поместите код модели пользователя в user.py Затем импортируйте модель User в __init__.py

from myapp.models.user import User
__all__ = ["User"]
Вернуться на верх