【发布时间】:2019-05-31 12:54:33
【问题描述】:
在precedent question 中,我正在寻找BaseModel.new 方法,其行为类似于ORM 中的create 方法,但无需在数据库中写入更改。
是否存在相同的方法,但行为类似于unlink?我想在onchange 调用中从我的记录集中删除一条记录。我不希望立即删除记录,但仅在用户按下Save 按钮时才删除。
非常感谢您!
有关我为什么需要此功能的更多信息:
我正在使用 Odoo 的 stock 模块。在Picking 中,我想动态更改保留的产品(由唯一的序列号跟踪),这意味着添加一些新的move_lines 并删除一些现有的。
我不能简单地更改lot_id,因为带有此lot_id 的一些move_lines 可能会保留在另一个Picking 中(或者至少,我没有找到如何巧妙地做到这一点)。
通过更改lot_id 或在我的onchange 方法中执行selected_move_id.move_line_ids.new({...}),我可以添加新的。现在我想删除我不再需要的现有的。我想删除它们,就像用户按下相应行上的 trash 图标一样。
【问题讨论】:
-
只有当用户按下
save时是什么意思? -
我的意思是当您编辑包含记录集的模型时,在页面的左上角,您可以编辑然后保存或丢弃。例如,如果我编辑一个模型,然后我按下列表的垃圾桶图标,然后单击 Discard 按钮,被删除的行重新出现(它没有在数据库中被删除)。
-
我刚刚编辑了我的问题,是不是更清楚了?
-
你的意思是当你编辑
x_to_many field?!! -
AFAIK 在 Odoo 中没有这样的东西。但我不太明白你为什么需要这样的东西。你能详细说明你为什么需要这个吗?