Python Odoo-使用5和3命令时,写入方法是否会导致内存泄漏?
我想知道如果不正确地使用Python Odoo-使用5和3命令时,写入方法是否会导致内存泄漏?,python,orm,odoo,odoo-13,Python,Orm,Odoo,Odoo 13,我想知道如果不正确地使用write方法是否会导致“内存泄漏” 假设我有一些需要重新计算的销售订单。因此,我将删除所有以前的订单行,然后在循环中创建如下新行: sale_order.write({'order_line':[(5,0,0)]})#删除所有以前的产品 VAL=[] 对于新产品中的产品: VAL.append((0,0,{'product_id':product.id,'product_uom_qty':product.qty,…}))#创建新行 销售订单。写入({'order_lin
write
方法是否会导致“内存泄漏”
假设我有一些需要重新计算的销售订单。因此,我将删除所有以前的订单行,然后在循环中创建如下新行:
sale_order.write({'order_line':[(5,0,0)]})#删除所有以前的产品
VAL=[]
对于新产品中的产品:
VAL.append((0,0,{'product_id':product.id,'product_uom_qty':product.qty,…}))#创建新行
销售订单。写入({'order_line':vals})#添加新行
但是在文档中它说,(5,0,0)
相当于为每个id调用(3,id,0)
,并且该命令不会从数据库中删除记录(只有(2,id,0)
会删除记录)
因此,如果我理解正确,如果我在最后运行这段代码几次,我会留下许多行,它们不符合任何顺序,只是存在于数据库中
如果是,我应该如何在不造成泄漏的情况下执行此操作?我是否需要使用2
而不是3/5
命令
使用Odoo13。只需在订单行字段中使用
取消链接
:
sale\u order.order\u line.unlink()