如何在django中不重复使用类似的模型对象
我在两个不同的应用程序(app1和app2)中有两个对象object1和object2。Object1与Object2具有1对多关系。每个对象都有一个设置模型对象 这些设置完全相同,只是每个设置都与各自的对象有一对一的关系 如果两个对象都有自己的设置,或者它们应该共享一个设置对象,那么这会重复我自己吗 该结构目前看起来像:如何在django中不重复使用类似的模型对象,django,django-models,dry,Django,Django Models,Dry,我在两个不同的应用程序(app1和app2)中有两个对象object1和object2。Object1与Object2具有1对多关系。每个对象都有一个设置模型对象 这些设置完全相同,只是每个设置都与各自的对象有一对一的关系 如果两个对象都有自己的设置,或者它们应该共享一个设置对象,那么这会重复我自己吗 该结构目前看起来像: class Object1(models.Model): name = models.CharField(max_length=255) class Obj
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)
听起来您需要一个抽象基类
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)
听起来您需要一个抽象基类
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)