如何通过production_id进行搜索



我正试图将一个字段从制造订单获取到相关的工作订单。

我试过:

for record in records:
if record.production_id:
so = env['mrp.production'].search([('name', '=', record.production_id)])
if so:
record.write({"x_customer": so.x_customer_nick_name})

然而,这不起作用,但如果我搜索实际的生产ID名称作为制造名称,它会按预期工作:

for record in records:
if record.production_id:
so = env['mrp.production'].search([('name', '=', record.'Boost/BoMO/73222')])
if so:
record.write({"x_customer": so.x_customer_nick_name})

我相信这是由于production_id,从原始数据中我可以看到它是[11212,'Boost/BoMO/73222']

所以我只需要第一个元素:

so = env['mrp.production'].search([('name', '=', record.production_id[1])])

不返回CCD_ 3的字符串名称。我应该如何获取这些数据?

错误代码

pobjs = [adapt(o) for o in self._seq]npsycopg2.ProgrammingError: can't adapt type 'dict'n'>

如果production_id是mrp.production关系:,请尝试此操作

if record.production_id:
so = record.production_id
If so:
record.write({"x_customer":so.x_customer_nick_name})

production_id是mrp.production的Many2One字段,因此您可以使用它来访问mrp.productction中的任何字段,在您的情况下,您希望获得制造订单的名称,因此它应该如下所示:

so = self.env['mrp.production'].search([('name', '=', record.production_id.name)])

在这里或odoo论坛上找不到解决方案。对于其他寻找解决方案的人,我最终使用了web API。我把工单和生产ID制造单都刮了下来。构建了一个用循环写入WO的元组。

models.execute_kw(db, uid, password, 'mrp.workorder', 'write', [workorders_id, {
'x_for_customer': x_customer_nick_name}
}])

相关内容

  • 没有找到相关文章

最新更新