代码之家  ›  专栏  ›  技术社区  ›  trubliphone

无法将嵌套应用程序中的自定义django模型指定为auth-user-u模型

  •  0
  • trubliphone  · 技术社区  · 5 年前

    我无法指定自定义 AUTH_USER_MODEL 如果那个模型是 嵌套的 应用程序。

    以下是一些项目结构:

    ├── project
    │   ├── settings.py
    │   ├── my_parent_app
    │   │   ├── __init__.py
    │   │   ├── apps.py
    │   │   └── my_child_app
    │   │       ├── __init__.py
    │   │       ├── apps.py
    │   │       └── models.py
    

    下面是一些代码:

    项目/我的父级应用程序/我的子级应用程序/模型.py:

    from django.contrib.auth.models import AbstractUser
    from django.db import models
    
    class User(AbstractUser):
      is_a_nice_user = models.BooleanField(default=False)
    

    项目/设置.py:

    INSTALLED_APPS = [
      'my_parent_app',
      'my_parent_app.my_child_app',
    ]  
    AUTH_USER_MODEL = 'my_parent_app.my_child_app.User'
    

    当我尝试做任何事情时,我会得到以下错误:

    值错误:无效的模型引用“my_parent_app.my_child_app.user”。弦 模型引用的格式必须为“app_label.modelname”。

    这是一个非常相似的 this question . 但我怎么能不借助于 my_child_app 一个独立的顶级应用程序?

    1 回复  |  直到 5 年前
        1
  •  1
  •   bdoubleu    5 年前

    AUTH_USER_MODEL 必须采用这种格式 app_label.model_name

    INSTALLED_APPS = [
        'my_parent_app',
        'my_parent_app.my_child_app',
    ]  
    AUTH_USER_MODEL = 'my_child_app.User'