Django:在保存方法中使用forms .has_changed进行优化

eyh26e7m  于 2023-07-01  发布在  Go
关注(0)|答案(1)|浏览(98)

我刚刚注意到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
ymzxtsji

ymzxtsji1#

这是一个好主意,可以减少数据库负载。但是,在实现解决方案之前,评估在特定情况下自定义表单的潜在好处是很重要的。
虽然优化数据库很重要,但在引入定制和增加代码复杂性时必须谨慎。有时候,复杂性增加所带来的成本可能无法解释优化单个查询所带来的好处。

相关问题