Django从另一个应用程序“改变”模型

时间:2010-09-03 10:35:49

标签: django plugins

我将使用Django管理界面创建一些应用程序,并考虑插件。 例如,我在结算应用程序中有一些用户类:

class User(models.Model):
    ContractNum = models.PositiveIntegerField(unique=True, blank=True, null=True ) 
    LastName = models.CharField(max_length=50,)

我有cmdb应用程序,它有另一个模型:

class Switch(models.Model):
    Name = models.CharField(max_length=50, )
    Manufacturer = models.CharField(max_length=50, )
    Model = models.CharField(max_length=50, )

我想以某种方式虚拟地在计费应用领域中添加用户模型,使其具有以下内容:

class User(models.Model):
    ContractNum = models.PositiveIntegerField(unique=True, blank=True, null=True ) 
    LastName = models.CharField(max_length=50,)
    Switch = models.ForeignKey(Switch, related_name='SwitchUsers')

当我安装应用程序cmdb时,动态地不对计费应用程序进行任何更改。

我已经阅读过有关抽象类的内容,但是我没有看到如何实现我想要的方式,因为它会将用户添加到cmdb应用程序中,并且我希望保持计费而不做更改作为主要应用程序项目

1 个答案:

答案 0 :(得分:0)

创建第三个模型,其中包含OneToOneUserForeignKeySwitch