Django模型代理在不同的包中

时间:2013-09-17 13:19:52

标签: python django proxy

我想将一个模型用于app的全局范围。将来,可能会改变模型。我使用模型包装器在项目的根目录中创建了backend.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.

如果我导入 project.package.Game,而不是 backend.Game ,一切正常。当然我在已安装的应用程序中有project.backend。只有我不知道如何指向django后端安装的类,并加载模型(来自其他应用程序)。

修改 我在backend.py中解决了它:

Game = em_models.Game

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

0 个答案:

没有答案