Django - 在模型方法中调用自我保存

alo*_*ser 5 python django django-models

我想知道我是否应该从应该调用的模型方法内部更改模型,save()如果是,如何更改?

型号示例:

class Case(Model):

    some_number = DecimalField(max_digits=10, decimal_places=2, default=0.0)


    def add(self, amount):
        self.some_number += amount
        self.save(update_fields=['some_number']) # needed?
Run Code Online (Sandbox Code Playgroud)

像这样调用:

case = Case(some_number)
case.add(10)
Run Code Online (Sandbox Code Playgroud)

这个有必要吗?正确的?我很乐意就此提供建议

Dan*_*man 3

我不知道你所说的“需要”或“正确”是什么意思。如果您想在调用时立即保留更改add,并清楚地记录这是该方法的行为,那么它是必要且正确的。