我刚刚注意到django forms有一个方法.has_changed(),我只是想知道通过覆盖保存方法并在命中数据库之前检查form是否已更改来使用它进行优化是否是一个好主意?
通过这样做,我们实际上会跳过一个不必要的对db的调用。你们觉得怎么样
会看起来像这样:
def save(self, commit=False):
property = super(PropertyPriceForm, self).save(commit=False)
if self.is_valid():
...
if commit and self.has_changed():
property.save()
return property
1条答案
按热度按时间ymzxtsji1#
这是一个好主意,可以减少数据库负载。但是,在实现解决方案之前,评估在特定情况下自定义表单的潜在好处是很重要的。
虽然优化数据库很重要,但在引入定制和增加代码复杂性时必须谨慎。有时候,复杂性增加所带来的成本可能无法解释优化单个查询所带来的好处。