我在两个不同的应用程序(app1和app2)中有2个对象object1和object2。 Object1与Object2有1对多的关系。每个对象都有一个设置模型对象。
设置相同,但每个设置与其各自对象具有一对一的关系。
如果这两个对象有自己的设置或者它们是否共享设置对象,这会重复我自己吗?
目前的结构如下:
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)
答案 0 :(得分: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)