0

我有一个版本为 2.2.13 和 django oauth 工具包 1.0.0 的 django 应用程序。为了更新到 Django 3.0,我需要更新 django-oauth-toolkit,但是在 1.0.0 之后的每个版本,我都会遇到迁移问题,因为我的应用程序 (oauth2) 扩展了抽象应用程序 (AbstractApplication) 模型oauth2_provider(来自 django-oauth-toolkit)。

from oauth2_provider.models import AbstractApplication

class Application(AbstractApplication):
    # there are more fields added here
    pass

这个自定义 oauth 应用程序 (oauth2) 有 28 个在项目本身内部生成的迁移。

当我们尝试从头开始运行所有迁移时(我们在 CI 服务器上执行此操作),尝试为应用程序运行迁移 0001 时出现错误oauth2_provider

ValueError: Related model 'oauth2.Application' cannot be resolved.

有一个类似于我在项目中打开的问题的问题,https://github.com/jazzband/django-oauth-toolkit/issues/778,但提供的解决方法不起作用,我还没有找到其他解决方案。

谢谢。

4

1 回答 1

0

当您交换应用程序模型时,您应该在设置 OAUTH2_PROVIDER_APPLICATION_MODEL 之前创建并运行定义交换的应用程序模型的迁移。

通过添加以下内容,可以强制您的迁移提供自定义模型以正确的顺序运行:

run_before = [
    ('oauth2_provider', '0001_initial'),
]

到移民班。

您可以在此处找到更多详细信息

于 2020-08-24T19:59:24.257 回答