我有
myApp/models/profiles.py
而不是 myApp/models.py
(对相关模型进行分组)
这种情况下如何设置
AUTH_USER_MODEL
?
因为 auth 只接受“foo.bar”模式。
app_label, model_name = settings.AUTH_USER_MODEL.split('.')
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__
值。
您可以直接传递类或“app.model”。 django 仅注册
app.models
模块中定义的类,因此您需要在 models
init
中导入该类。由于无论如何您都会在 init
中导入模型,因此您不需要在外键中指定类的完整路径。