Django-将模型对象存储在单独的数据库表中

时间:2020-10-12 14:31:46

标签: django django-models

从存储实例的常规池中分离出Django模型的特定实例的最佳方法是什么?

我考虑这三种可能性:

  1. 将信息存储为父模型中的字段:
class SampleModel(models.Model):
    attr1 =  models.CharField(max_length=50)
    attr2 =  models.CharField(max_length=50)
    is_special = models.BooleanField()
  1. 作为参考存储在单独的模型中:
class SampleModel(models.Model):
    attr1 =  models.CharField(max_length=50)
    attr2 =  models.CharField(max_length=50)
    
class SpecialSampleModel(models.Model):
    sample_model = models.OneToOneField(SampleModel, on_delete=models.CASCADE)

  1. 继承附加类中的基本模型:
class SampleModel(models.Model):
    attr1 =  models.CharField(max_length=50)
    attr2 =  models.CharField(max_length=50)

class SpecialSampleModel(SampleModel):
    pass

我可以想象这些方法在项目的性能和可用性方面可能各有利弊...

还是也许我没有考虑过更好的方法?

0 个答案:

没有答案