【发布时间】:2019-04-17 09:29:26
【问题描述】:
我在我的 Django 应用程序中创建了一个名为 utils.py 的文件,我在其中保留了一些随机的类或函数。
我遇到了一个问题,我无法在 utils.py 文件中导入任何模型。
我有一个名为 User 的模型,它继承自 AbstractUser,它被 Django 所说:AUTH_USER_MODEL = 'main.User'
我还有一个模型叫Project。
每当我在utils.py 中输入from main.models import Project 或User 时,我都会得到django.core.exceptions.ImproperlyConfigured: AUTH_USER_MODEL refers to model 'main.User' that has not been installed
当然主要是在设置中安装的应用程序中。
我之前通过使用get_user_model() 解决了这个问题User,但是没有这样的函数来获取Project。
如何解决这个问题?我错过了什么吗?
【问题讨论】:
-
听起来你有一个循环导入。我们不知道它在哪里,因为您没有显示代码或完整的回溯。一般来说,尝试重构你的代码,使模型从 utils 导入,而 utils 不从模型导入,反之亦然。
-
@Alasdair 就是这样。谢谢,问题解决了。我一直在模型中从 utils 中导入 mixin,在 utils 中我一直在从继承 mixin 的模型中导入模型。