Django模型父链接的自定义相关名称?

2024-04-20 11:13:26 发布

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

我正在做一个需要扩展的Django项目。因此,我在一个核心应用程序中创建了一系列基本模型(有些抽象,有些不是),以及各种模板方法,这样就可以轻松地为项目开发新的插件应用程序。

问题是,我有两个不同的插件应用程序,它们包含了与核心应用程序同名和相同超类的模型。我觉得这些模型只适用于少数具有完全不同独立实现的应用程序,在核心应用程序中只有一个公共类是没有意义的。

核心应用程序:

class MyBaseClass(models.Model):
    """
    This is the base class.
    """
    pass

插件应用程序1:

^{pr2}$

插件应用程序2:

class MySubclass(MyBaseClass):
    """
    Some other subclass.
    """
    pass

这不起作用,因为在为父链接创建的相关名称中存在冲突,据我所知,父链接只是ModelBase元类创建的OneToOneField。我觉得只要在相关名称中包含应用程序的名称就可以避免这种情况,但我不知道是否有一种实用合理的方法来做到这一点。

由于这些插件应用程序将由不同的人创建,我觉得我应该处理类名冲突,特别是因为我不认为它们不太可能发生。

有没有办法指定父链接字段的相关名称?有其他的想法吗?


Tags: 项目django方法模型名称插件模板应用程序