我有一个版本为2.2.13和django oauth工具包为1.0.0的django应用程序。为了更新到Django3.0,我需要更新django-oauth-toolkit,但是在版本1.0.0之后的每个版本中,我都会遇到一个迁移问题,因为我的应用程序(oauth2)扩展了来自oauth2_provider (来自django-oauth-toolkit)的抽象应用程序(AbstractApplication)模型。
from oauth2_provider.models import AbstractApplication
class Application(AbstractApplication):
# there are more fields added here
pass这个自定义的oauth应用程序(oauth2)有28个迁移,这些迁移是在项目本身内部生成的。
当我们尝试从头开始运行所有迁移时(我们在CI服务器上执行此操作),尝试为应用程序oauth2_provider运行迁移0001时出现错误
ValueError: Related model 'oauth2.Application' cannot be resolved。
在项目https://github.com/jazzband/django-oauth-toolkit/issues/778上有一个与我的问题类似的问题,但提供的变通方法不起作用,而且我还没有找到其他解决方案。
谢谢。
发布于 2020-08-25 03:59:24
当您交换应用程序模型时,您应该在设置OAUTH2_PROVIDER_APPLICATION_MODEL之前创建并运行定义交换的应用程序模型的迁移。
通过添加以下内容,可以强制迁移以正确的顺序运行自定义模型:
run_before = [
('oauth2_provider', '0001_initial'),
]迁移类。
您可以在here找到更多详细信息
https://stackoverflow.com/questions/63529423
复制相似问题