服务器操作:遍历模型的每个记录

时间:2017-03-03 08:18:59

标签: for-loop server action odoo-10

我在树视图中选择了服务器操作来更新产品成本:

bom_obj = env["mrp.bom"] 
for product in object.browse(context.get('active_ids')):
    price = 0 
    bom = bom_obj._bom_find(product=product) 
    if bom:
        price = product._calc_price(bom)
        product.write({'standard_price':price})

但遗憾的是,这只选择树视图中可见的记录,而不是product.product

中的所有记录

我试过了:

bom_obj = env["mrp.bom"] 
product_obj = env["product.product"]
product_ids = product_obj.search(cr, uid, [])
   for product in product_ids:
      price = 0 
      bom = bom_obj._bom_find(product=product) 
      if bom:
          price = product._calc_price(bom)
          product.write({'standard_price':price})

您能否告诉我如何遍历product.product的每条记录。

OR

相反,请告诉我如何更新在m2o字段中选择的记录的价格。

我知道如何在服务器操作中触发代码,我只需要知道如何从m2o字段获取记录。我会在销售订单行中更改product_id时使用此选项,以便在选择时更新价格。

由于

0 个答案:

没有答案