ModuleNotFoundError at /api/v1/account/users/1/
У меня есть проект django rest framework с таким типом treeroot
В модели счетов у меня есть модель 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
тогда вы можете повторить попытку