环境

Python 3.7.7
Django 2.2.10
djangorestframework 3.11.0

描述

在使用 Django Rest Framework 构造 API 时,使用如下代码,为数据库中已有的用户生成 token

from django.contrib.auth.models import User
from rest_framework.authtoken.models import Token
for user in User.objects.all():
    Token.objects.create(user=user)
...

报错

AttributeError: type object 'Token' has no attribute 'objects

解决

1.添加 'rest_framework.authtoken' 至 settings.py 的 INSTALLED_APPS 中
2.使用 manage.py 进行数据库迁移

python manage.py makemigrations
python manage.py migrate

参考

https://github.com/encode/django-rest-framework/issues/6250
https://github.com/Tivix/django-rest-auth/issues/5

最后修改:2020 年 08 月 24 日 11 : 02 PM
如果觉得文章帮助了您,您可以随意赞赏。