我覆盖了 save()我的方法Foo类,这样当我创建一个 Foo 实例时,就会出现一些逻辑。它运行良好。
尽管如此,我在其他类中还有其他方法可以更新 Foo实例,当然,我必须保存调用 save() 的更改方法。但我希望它们直接更新而不传递到我为对象创建所做的逻辑中。
是否有一个优雅的解决方案?
覆盖__init__()怎么样?方法而不是 save() ? (有人告诉我这是一种不好的做法,但不确定为什么)
谢谢。
请您参考如下方法:
您不应该覆盖 __init__,因为在实例化模型的所有情况下都会调用它,包括从数据库加载它时。
做你想做的事情的一个好方法是在你的保存方法中检查 self.pk 的值:如果它是 None,那么这是一个正在创建的新实例。
