通常,在Odoo中编辑模型时,可以单击“放弃”按钮以还原所有更改 .

现在我有一个按钮,可以对模型进行一些修改,例如它清除一个字段 . 遗憾的是,单击Discard时不会还原此更改 . 所以我假设我在代码中对模型所做的更改是直接持久化的 . 如何修改模型,在单击“保存”之前不直接保留更改?

在其他框架中,人们经常修改模型的工作副本,可以简单地将其丢弃或应用于真实模型 . Odoo中的Discard机制如何工作?

Example

在我看来,我有一个按钮:

<header>
    <button string="Clear Filter" type="object" name="clear_filter"/>
</header>

在我的模型中,我像这样清除过滤器:

def clear_filter(self):
    for record in self:
        record.filter = None

这是有效的,但字段的修改是直接持久的,不能被丢弃 .