我正在使用odoo Web UI。
我正在sale.order表单中创建一个新按钮以创建询价。
创建RFQ的服务器操作运行良好,但不适用于one2many order_line字段。
我收到了预期的单例错误
raise ValueError("Expected singleton: %s" % record)
ValueError: <class 'ValueError'>: "Expected singleton: sale.order.line(706, 707)" while evaluating
这是我用来遍历记录的代码:
for rec in record:
if record.order_line:
for line in record.order_line:
if line.id:
action = {
"type": "ir.actions.server",
"id": 601,
"context": {"active_id": record.order_line.id, "active_model": "sale.order.line"}
}
“ id”:601动作也是通过UI定义的:
我尝试使用此答案:ValueError:预期的单例:-Odoo v8
但是仍然存在单例错误。
我在代码中缺少在one2many
字段中循环order_line
而不引起单例错误的操作中缺少什么?
IMO问题就在这条线 "active_id": record.order_line.id
record.order_line
将具有记录集列表。您确实在循环,这是正确的。line
将代表一个记录集。所以你必须使用line
。
尝试以下代码:
for rec in record:
for line in rec.order_line:
action = {
"type": "ir.actions.server",
"id": 601,
"context": {"active_id": line.id,
"active_model": "sale.order.line"}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句