如何解决错误 Expected singleton: purchase.order.line (57, 58, 59, 60, 61, 62, 63, 64)
How to solve error Expected singleton: purchase.order.line (57, 58, 59, 60, 61, 62, 63, 64)
我使用的是 odoo 版本 9,我创建了一个模块来自定义采购订单报告。我希望在报告中显示的字段之一是文章的供应商参考,但是当我添加显示此字段的代码时 <span> <t t-esc="', '.join([str(x.product_code) for x in o.order_line.product_id.product_tmpl_id.seller_ids])"/>
但是当我想开始打印报告时它显示错误
QWebException: "Expected singleton: purchase.order.line(57, 58, 59, 60, 61, 62, 63, 64)" while evaluating
"', '.join([str(x.product_code) for x in o.order_line.product_id.product_tmpl_id.seller_ids])"
PS: 我在购买模块时没有改变任何东西。
我不知道如何解决这个问题,请问有什么帮助吗?
找到多个卖家 ID。这就是为什么你在这里获得 id 数量的原因。即purchase.order.line(57、58、59、60、61、62、63、64)。你必须select其中一个id。要查看结果,请尝试以下操作:
o.order_line[0].product_id.product_tmpl_id.seller_ids
如果您想在报告中显示所有这些卖家 ID,请在 xml 中申请循环。
这是因为您的采购订单有多个订单行,而您希望该订单只有一个订单行。
o.orderline.product_id.product_tmpl_id.seller_ids
仅当有一个订单行时才有效,否则您将遍历每个订单行。这里 o.orderline 将有多个订单行,您可以从多个订单行中获取 product_id。如果您尝试 o.orderline[0].product_id.product_tmpl_id.seller_ids 它会起作用,但只会获得第一个订单行的详细信息。为了获得您需要遍历它的所有订单行详细信息。
我使用的是 odoo 版本 9,我创建了一个模块来自定义采购订单报告。我希望在报告中显示的字段之一是文章的供应商参考,但是当我添加显示此字段的代码时 <span> <t t-esc="', '.join([str(x.product_code) for x in o.order_line.product_id.product_tmpl_id.seller_ids])"/>
但是当我想开始打印报告时它显示错误
QWebException: "Expected singleton: purchase.order.line(57, 58, 59, 60, 61, 62, 63, 64)" while evaluating
"', '.join([str(x.product_code) for x in o.order_line.product_id.product_tmpl_id.seller_ids])"
PS: 我在购买模块时没有改变任何东西。 我不知道如何解决这个问题,请问有什么帮助吗?
找到多个卖家 ID。这就是为什么你在这里获得 id 数量的原因。即purchase.order.line(57、58、59、60、61、62、63、64)。你必须select其中一个id。要查看结果,请尝试以下操作:
o.order_line[0].product_id.product_tmpl_id.seller_ids
如果您想在报告中显示所有这些卖家 ID,请在 xml 中申请循环。
这是因为您的采购订单有多个订单行,而您希望该订单只有一个订单行。
o.orderline.product_id.product_tmpl_id.seller_ids
仅当有一个订单行时才有效,否则您将遍历每个订单行。这里 o.orderline 将有多个订单行,您可以从多个订单行中获取 product_id。如果您尝试 o.orderline[0].product_id.product_tmpl_id.seller_ids 它会起作用,但只会获得第一个订单行的详细信息。为了获得您需要遍历它的所有订单行详细信息。