我希望可以访问Django OAUTH Toolkit使用的模型,这样我就可以定期从数据库中删除旧的令牌。我认为我只需导入它们:
from oauth2_provider.management.commands.cleartokens import Command
from oauth2_provider.models import AccessToken
Command.handle()
然而,当我尝试在命令行中运行此文件时,我收到了以下错误提示:
Traceback (most recent call last):
File ".\db_cleanup.py", line 5, in <module>
from oauth2_provider.models import AccessToken
File "C:\Users\User\.virtualenvs\gsm-django\lib\site-packages\oauth2_provider\models.py", line 178, in <module>
class Application(AbstractApplication):
File "C:\Users\User\.virtualenvs\gsm-django\lib\site-packages\django\db\models\base.py", line 95, in __new__
"INSTALLED_APPS." % (module, name)
RuntimeError: Model class oauth2_provider.models.Application doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.
我尝试将
oauth2_provider.models.Application
添加到我的设置文件中已安装的应用程序列表中,但无济于事:INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'api',
'oauth2_provider',
'oauth2_provider.models.Application',
'rest_framework',
'rest_framework.authtoken',
'graphene_django',
'corsheaders',
]
我也将app_label
添加到了提到的Application
类中,但这并没有起作用。
Django
版本是什么?如果你正在使用 这个包,请注意它最后更新于5年前,可能与最新的Django
版本不兼容。 - Ralfapp_label
进行更改可能会破坏旧应用程序。请阅读有关https://code.djangoproject.com/ticket/28691和相关票证的更多信息。 - Ralf