【问题标题】:I want to target AUTH_USER_MODEL to a custom user model in sub directory我想将 AUTH_USER_MODEL 定位到子目录中的自定义用户模型
【发布时间】:2021-04-28 06:24:39
【问题描述】:

我的项目结构如下:

./apps
./apps/bizusers
./apps/bizusers/admin.py
./apps/bizusers/apps.py
./apps/bizusers/models.py
./apps/bizusers/serializers.py
./apps/bizusers/tests.py
./apps/bizusers/views.py
./apps/bizusers/__init__.py
./apps/__init__.py
./config
./config/asgi.py
./config/settings.py
./config/urls.py
./config/wsgi.py
./config/__init__.py
./manage.py
./requirements.txt

我的自定义用户模型在

./apps/bizusers/models.py

我在设置中有这个:

INSTALLED_APPS = [ “应用程序”,]

我在 settings.py 中添加了AUTH_USER_MODEL = "bizusers.User"

我尝试编辑 ./apps/__init__.py./apps/bizusers/apps.py,但无法正常工作。

我尝试了以下这些解决方案:

having models directory and AUTH_USER_MODEL

Model in sub-directory via app_label?

'MyAppConfig' must supply a name attribute

谢谢。

【问题讨论】:

  • 你的应用名称是什么?
  • 商务用户或应用程序?
  • 嗨@daneilJames,该应用程序的名称是bizusers。我创建了一个文件夹“apps”来包含我所有的应用程序。

标签: python python-3.x django django-rest-framework


【解决方案1】:

您可以将您的应用程序作为另一个包的子包,但是您需要将您的应用程序添加到 INSTALLED_APPS 列表中,即您需要在列表中添加它的子包,而不是添加 apps

INSTALLED_APPS = [
    ...
    'apps.bizusers',
]

接下来你对AUTH_USER_MODEL 的设置是正确的:

AUTH_USER_MODEL = "bizusers.User"

【讨论】:

  • 嗨@Abdul,我收到此错误AttributeError: Manager isn't available; 'auth.User' has been swapped for 'bizusers.User'
  • @AatishKumar 这意味着此设置确实有效,您现在收到此错误,因为您尝试在代码中的某处使用默认用户模型。请edit 并将此错误的完整堆栈跟踪添加到您的问题中。
  • 是的,我在发表评论后才意识到这一点。谢谢你。 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-20
  • 1970-01-01
  • 1970-01-01
  • 2016-07-27
  • 2017-09-20
相关资源
最近更新 更多