get_user_model()在TastyPie的compat.py中失败

时间:2014-05-26 18:00:18

标签: django tastypie

我正在使用python 3.3,Django 1.8和Tastypie 0.11.1。

当我链接所有内容并将tastypie作为已安装的应用程序添加到我项目的settings.py时,尝试运行python manage.py shell会抛出此错误:

RuntimeError: App registry isn't ready yet.

我已经阅读了here背后的原因,以及他们提供的解释。我的理解是我应该使用settings.AUTH_USER_MODEL代替get_user_model()。所以我将tastypie/compat.py(错误来源)中的代码更改为使用settings.AUTH_USER_MODEL代替,但现在我收到此错误:

  File "/usr/local/lib/python3.3/dist-packages/tastypie/compat.py", line 16, in <module>
    username_field = User.USERNAME_FIELD
AttributeError: 'str' object has no attribute 'USERNAME_FIELD'

我做错了什么?

1 个答案:

答案 0 :(得分:0)

首先,请告诉我们您的company.py代码。

但是,我猜你在做:

from django.config import settings
User = settings.AUTH_USER_MODEL

AUTH_USER_MODEL应该是一个字符串!

因为AUTH_USER_MODEL = "myApp.CustomUser"应该在您的设置中

你应该这样做:

User = get_user_model()

根据settings.AUTH_USER_MODEL(即导入正确的模型)解析rigth用户模型

希望帮助