0

我在两个不同的应用程序(app1 和 app2)中有 2 个对象 object1 和 object2。Object1 与 Object2 具有一对多的关系。每个对象都有一个设置模型对象。

除了每个设置与其各自的对象具有一对一的关系外,这些设置是相同的。

如果这两个对象有自己的设置,还是应该共享一个设置对象,这是否会重复我自己?

目前的结构如下:

class Object1(models.Model):
        name = models.CharField(max_length=255)

class Object2(models.Model):
        object1 = models.ForeignKey(Object1)



#This is in app 1
class Setting(models.Model):
    object1 = models.OneToOneField(Object1)
    setting_count = models.IntegerField(default=0)

#This is in app 2
class Setting(models.Model):
    object2 = models.OneToOneField(Object2)
    setting_count = models.IntegerField(default=0)
4

1 回答 1

4

听起来你想要一个抽象基类。

class SettingBase(models.Model):
    setting_count = models.IntegerField(default=0)

    class Meta:
        abstract = True

class Setting1(SettingBase):
    object1 = models.OneToOneField(Object1)

class Setting2(SettingBase):
    object2 = models.OneToOneField(Object2)
于 2013-07-25T00:46:13.583 回答