ModuleNotFoundError at /api/v1/account/users/1/

У меня есть проект django rest framework с таким типом treeroot

enter image description here

В модели счетов у меня есть модель User, как показано ниже :

    class User(AbstractUser):
        phone_number = models.CharField(max_length=11, unique=True)

тогда у меня есть простой сериализатор и ModelViewSet для этой модели

apps.py в учетных записях выглядит следующим образом :

from django.apps import AppConfig

class AccountsConfig(AppConfig):
    default_auto_field = 'django.db.models.BigAutoField'
    name = 'api.accounts'

а в api директории apps.py выглядит так :

from django.apps import AppConfig

class ApiConfig(AppConfig):
    default_auto_field = 'django.db.models.BigAutoField'
    name = 'api'

и в конце вот мой settings.py

когда я хочу вызвать этот api через get :

/api/v1/account/users/

он выдает следующую ошибку :

ModuleNotFoundError at /api/v1/account/users/1/
No module named 'accounts'
Request Method: GET
Request URL:    http://127.0.0.1:8000/api/v1/account/users/1/
Django Version: 3.2.25
Exception Type: ModuleNotFoundError
Exception Value:    
No module named 'accounts'
Exception Location: <frozen importlib._bootstrap>, line 973, in _find_and_load_unlocked
Python Executable:  /usr/local/bin/python3
Python Version: 3.8.20
Python Path:    
['/opt/project',
 '/opt/project',
 '/opt/.pycharm_helpers/pycharm_display',
 '/usr/local/lib/python38.zip',
 '/usr/local/lib/python3.8',
 '/usr/local/lib/python3.8/lib-dynload',
 '/usr/local/lib/python3.8/site-packages',
 '/opt/.pycharm_helpers/pycharm_matplotlib_backend']
Server time:    Thu, 16 Jan 2025 05:29:15 +0000

и информация TraceBack выглядит следующим образом :

связана ли проблема с этой частью :

AUTH_USER_MODEL = "accounts.User"

который не знает счетов?

Я пытался даже :

AUTH_USER_MODEL = "api.accounts.User"

но он не принимает эту форму, потому что получает только app_name.UserModel

знает ли кто-нибудь решение подобной проблемы?

Думаю, вы можете попробовать это

  • в api/accounts/apps.py
    class AccountsConfig(AppConfig):
        default_auto_field = 'django.db.models.BigAutoField'
        name = 'api.accounts'  
        label = 'accounts'

и

  • в файле settings.py

    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'rest_framework',
        'django_filters',
        'api',
        'api.books',
        'api.accounts',
    ]
    
    AUTH_USER_MODEL = "accounts.User"

и убедитесь, что вы выполнили миграцию следующим образом

    python manage.py makemigrations accounts
    python manage.py migrate accounts

тогда вы можете повторить попытку

Вернуться на верх