如何在One2many字段中向Many2many字段添加多个值?Odoo 10

时间:2016-11-10 10:03:47

标签: orm openerp odoo-9 odoo-10

我正在尝试使用create方法添加One2many字段,此字段有一个我需要填充的Many2many字段,可以有多个值..

color_selector 是一个Many2many字段,此字段的数据类似于 color.true(1,5) color.true(5)

location_env.sudo().create({'loc_id': loc_id.id,
                                    'loc_name': loc_id.loc_name,
                                    'purchase_order_line_id': line_id.id,
                                    'color_selector': (6, 0, colors_ids)})

我试过了:

'color_selector': (6, 0, colors_ids)
'color_selector': [(6, 0, colors_ids)]
'color_selector': (6, 0, [colors_ids])
c_ids = (4, colors)
'color_selector': (6, 0, c_ids)

1 个答案:

答案 0 :(得分:3)

要在Odoo中创建One2Many记录,您应该这样做。

loc_id.your_one_two_many_field = [(0,0,
                                     {'loc_name': loc_id.loc_name,
                                      'purchase_order_line_id': line_id.id,
                                      'color_selector': [(6, 0, colors_ids)]}
                                 )]

您的 colors_ids 变量是否为列表?还是记录集?

它必须是记录ID列表。例如 [1,2,3,4,5]

如果您的 colors_ids 变量是记录集,请尝试以下

color_selector: [(6, 0, colors_ids.ids)]

希望它适合你。