Python 找不到Token.objects

Python 找不到Token.objects,python,django,Python,Django,我正在django==2.0中使用djangorestframework 使用python 3.7 我把这样的事情 @receiver(post_save, sender=settings.AUTH_USER_MODEL) def create_auth_token(sender, instance=None, created=False, **kwargs): if created: from rest_framework.authtoken.models import

我正在django==2.0中使用djangorestframework 使用python 3.7

我把这样的事情

@receiver(post_save, sender=settings.AUTH_USER_MODEL)
def create_auth_token(sender, instance=None, created=False, **kwargs):
    if created:
        from rest_framework.authtoken.models import Token
        Token.objects.create(user=instance)
当我试图创建一个用户时,编译器给出了一个错误:

Exception Value:    
type object 'Token' has no attribute 'objects'

尝试执行以下操作

>>> from rest_framework.authtoken.models import Token
>>> Token.objects.all()
Traceback (most recent call last):
  File "<console>", line 1, in <module>
AttributeError: type object 'Token' has no attribute 'objects'
>>来自rest\u framework.authtoken.models导入令牌
>>>Token.objects.all()
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
AttributeError:类型对象“标记”没有属性“对象”
如果发生上述错误,那是因为您没有在设置的“已安装的应用”中添加身份验证令牌。
如果它不是已安装的应用程序中的,则它是抽象的,没有默认的管理器(对象)。

首先检查您是否在settings.py中的已安装的应用程序下添加了
'rest\u framework.authtoken'
。然后运行“python manage.py migrate”

其次,在为没有令牌的用户创建令牌时,应打开新的python shell,如下所示:

>>> `from django.contrib.auth.models import User`
>>> `from rest_framework.authtoken.models import Token`
>>> `user = User.objects.get(pk=1)`                        
>>> `Token.objects.create(user=user)`

看起来好像没有创建
令牌
模型。因此,请确保您遵循了文档中的安装

确保在
已安装的应用程序中有
'rest\u framework.authtoken'

另外,rest框架验证类位于
settings.py

REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
    'rest_framework.authentication.TokenAuthentication',
),
'DEFAULT_PERMISSION_CLASSES': (
    'rest_framework.permissions.IsAuthenticated',
)
}

另外,请确保执行
python manage.py makemigrations
,然后执行
python manage.py migrate
以创建
标记
model

阅读文档“注意,您需要确保将此代码片段放置在已安装的models.py模块中,或Django在启动时将导入的其他位置。”那应该是坏掉的东西。否则,请显示您的项目结构。也不要在函数内部导入。