odoo-8 - 超过 1 个产品要听写
问题描述
在这里我添加product_id
到 vals dict 但问题是如果有超过 1 个产品,我如何将product_id
每一行添加到这个 dict vals。可能我需要列出一个列表product_ids
然后将其添加到 dict 但有点挣扎
@api.multi
def button_details(self):
domain = [
('product_tmpl_id', '=', self.product_id.id)
]
vals = {}
bom_products = self.env['mrp.bom'].search(domain)
for bom_line in bom_products.bom_line_ids:
vals['product_id'] = bom_line.product_id.id
vals['product_uom_qty'] = bom_line.product_qty
context = self.env.context.copy()
context['view_buttons'] = True
view_id = self.env.ref('config.view_order_line_form_view').id
view = {
'name': _('Details'),
'view_type': 'form',
'view_mode': 'tree, form',
'res_model': 'sale.order.line',
'views' : [(view_id,'tree')],
'type': 'ir.actions.act_window',
'target': 'new',
'readonly': True,
# 'res_id': ,
'context': context
}
return view
更新的最终目标是打开一个由按钮触发的视图,其中包含我试图从 bom.line 中提取的产品和数量
解决方案
- 请更改此代码可能对您有所帮助。
bom_products = self.env['mrp.bom'].search(domain)
vals['product_id'] = bom_products.bom_line_ids.mapped('product_id.id')
- 并删除 for 循环它是没有必要的。
推荐阅读
- android - 材料设计日期选择器android更改布局
- caching - 部署后,Angular PWA 服务工作者不会在离线模式下从缓存中获取 api 响应
- excel - 重命名 Excel 工作表:名称超过 31 个字符错误
- powerbi - PowerBI中突出显示视觉交互的默认过滤器
- python - 如何以编程方式检测文件是否为 Python 脚本
- ms-access - Access 365 - 从组合框填充未绑定文本字段时出错
- mongodb - 旋转密码时与 documentdb 的命令行连接
- mysql - 使用 STORED PROCEDURE 进行 SUM、GROUP BY 并插入到另一个表
- python - 比较两列并设置条件
- c# - 如何只允许管理员在 identityserver4 中注册新用户