返回one2many值,但产品在odoo 9中显示不同

时间:2016-12-22 02:53:14

标签: openerp odoo-8 odoo-9

我正在尝试根据订单请求创建报价,在选择订单请求编号时,这些请求的产品必须附加在报价单的行中。

我尝试了以下代码,它返回正确的产品ID。但是在for line in infile: Passwords.append(line.strip()) 字段中显示的产品不同,我在返回之前给出了打印选项,显示正确的产品。

one2many

1 个答案:

答案 0 :(得分:1)

One2many写的正确格式:

(0,0, {}) or (0, False, {})

例如:

'order_line': [(0,0, {'product_id': 1, 'name': 'Test1'}).....]

尝试使用以下代码。

def request_change(self, req_id):
    print req_id
    vals=[]
    refunds = self.env['purchase.request.products'].search([('request_id', '=', req_id)])
    for recs in refunds:
        vals.append([0,0, {'product_id':recs.id,'name':recs.name.name,'product_qty':1.000,'date_planned':datetime.now().strftime("%Y-%m-%d %H:%M:%S"),'price_unit':recs.name.list_price}])
    return {'value': {'order_line':vals }}

详细信息other datatype field add/update/delete