有模型目录和AUTH_USER_MODEL

问题描述 投票:0回答:2

我有

myApp/models/profiles.py
而不是
myApp/models.py
(对相关模型进行分组)

这种情况下如何设置

AUTH_USER_MODEL

因为 auth 只接受“foo.bar”模式。

app_label, model_name = settings.AUTH_USER_MODEL.split('.')
django model
2个回答
7
投票

Django 希望任何给定应用程序的模型位于

app.models
中。如果您想使用这种文件结构,您仍然需要确保情况确实如此。最简单的方法是在
from profiles import *
中添加
myApp/models/__init__.py
,然后照常使用
AUTH_USER_MODEL

例如,您有

myApp/models/profiles.py
myApp/models/actions.py
您的
myApp/models/__init__.py
应该阅读

from profiles import *
from actions import *

请记住确保您没有任何名称冲突,并且您可能希望在每个子包中设置

__all__
值。


0
投票

您可以直接传递类或“app.model”。 django 仅注册

app.models
模块中定义的类,因此您需要在
models
init
中导入该类。由于无论如何您都会在
init
中导入模型,因此您不需要在外键中指定类的完整路径。

© www.soinside.com 2019 - 2024. All rights reserved.