如何通过production_id搜索?
How to search via 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])])
不returnproduction_id
的字符串名称。我应该如何获取这些数据?
错误代码
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.production 中的任何字段,在您的情况下,您希望获得名称制造订单,因此它应该类似于以下内容:
so = self.env['mrp.production'].search([('name', '=', record.production_id.name)])
无法在此处或 odoo 论坛上找到解决方案。对于其他寻找解决方案的人,我最终使用了网络 API。我抓取了工作订单和生产 ID 制造订单。构建了一个用循环写入 WO 的元组。
models.execute_kw(db, uid, password, 'mrp.workorder', 'write', [workorders_id, {
'x_for_customer': x_customer_nick_name}
}])
我正在尝试从制造订单中获取一个字段到相关工作订单。
我试过:
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])])
不returnproduction_id
的字符串名称。我应该如何获取这些数据?
错误代码
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.production 中的任何字段,在您的情况下,您希望获得名称制造订单,因此它应该类似于以下内容:
so = self.env['mrp.production'].search([('name', '=', record.production_id.name)])
无法在此处或 odoo 论坛上找到解决方案。对于其他寻找解决方案的人,我最终使用了网络 API。我抓取了工作订单和生产 ID 制造订单。构建了一个用循环写入 WO 的元组。
models.execute_kw(db, uid, password, 'mrp.workorder', 'write', [workorders_id, {
'x_for_customer': x_customer_nick_name}
}])