不同包中的Django模型代理

2024-04-25 20:50:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我想使用一个模型的应用程序的全球范围。在未来,可能会改变模型。我创造了后端.py使用模型包装器将文件保存在项目的根目录中(我认为这是最好的解决方案,因为我可以在一个地方更改模型的声明,并且使用全局模型比使用从应用程序导入更透明)。你知道吗

from project.backend import models as backend_models

class Game(backend_models.Game):
    class Meta:
        proxy = True

但当我与模型建立任何关系时,我会得到以下错误:

screens.screen: 'game' has a relation with model <class 'energy.backend.Game'>, which has either not been installed or is abstract.

如果我导入项目包游戏,后端。游戏一切正常。我当然有项目.后端在已安装的应用程序中。只有我不知道如何点django,在后端类已安装,并加载模型(从其他应用程序)。你知道吗

编辑 我一年前就解决了后端.py地址:

Game = em_models.Game

但在非模型包中扩展模型必须有相同的解决方案。你知道吗


Tags: 文件项目py模型gamebackend应用程序游戏