首页 > 解决方案 > 如何解决错误预期单例: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:我在模块购买中没有改变任何东西。我不知道如何解决这个问题,请问有什么想法吗?

标签: python-2.7odoo-9

解决方案


找到多个卖家 ID。这就是为什么您在这里获得 id 数量的原因。即 purchase.order.line(57, 58, 59, 60, 61, 62, 63, 64)。您必须在其中选择一个 id 。要查看结果,请尝试以下操作:

o.order_line[0].product_id.product_tmpl_id.seller_ids

如果您想在报告中显示所有这些卖家 ID,请申请循环进入 xml。


推荐阅读