在问题7531153中,我询问了将Django模型拆分为两种的正确方法 - 使用Django的多表继承或显式定义OneToOneField.
根据Luke Sneeringer的评论,我很好奇是否将模型分成两部分可以获得性能提升.
我之所以考虑将模型分成两部分是因为我有一些字段总是会完成,而其他字段通常都是空的(直到项目关闭).
将典型的空字段(如actual_completion_date和actual_project_costs)放入Django中的单独模型/表中是否会带来性能提升?
class Project(models.Model):
project_number = models.SlugField(max_length=5, blank=False,
primary_key=True)
budgeted_costs = models.DecimalField(max_digits=10, decimal_places=2)
submitted_on = models.DateField(auto_now_add=True)
class ProjectExtendedInformation(models.Model):
project = models.OneToOneField(CapExProject, primary_key=True)
actual_completion_date = models.DateField(blank=True, null=True)
actual_project_costs = models.DecimalField(max_digits=10, decimal_places=2,
blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)