Class Model(models.Model):
.......
.......
.......
.......
first_name = models.CHarField(max_length = 50)
last_name = models.CharField(ma_lenghth = 50)
def full_name():
return '%s %s' %(self.first_name, self.last_name)
- 打电话
Models.objects.get().full_name()
会很有效
或者
Model.objects.filter().values('first_name, 'last_name')
并且比稍后添加字符串会更好。
问题是关于数据库优化。基本上我想知道调用模型的方法是否加载整个对象。如果不是,我觉得两者都会导致相同的数据库操作,但如果它加载整个对象,那么值方法将是更好的优化。
请回复。如果您对此主题有任何经验,请分享任何经验,如果您有任何比较统计数据,请分享。请注意,这是一个示例,而不是实际用例,该模型还包含许多其他字段。
很少有人会觉得使用defer()
或only()
也会产生预期的结果。但是我在 django 文档中发现的是,它基本上只阻止这些字段数据被转换为 python 对象,而不是在 sql 查找中。因此,我不认为这会更好。请帮助我提前谢谢。