一、创建数据
1、直接创建
直接在字段后面去添加创建
values1 = {
'name': 'zhangsan',
'company_id': 6,
}
values2 = {
'name': 'zhaoliu',
'company_id': 5,
}
self.current_one2many_ids = [(0, 0, values1),(0, 0, values2)...]
2、先创建后赋值
先为此字段的关系表去创建两条记录,例如表名relationship_table
借用一下上面的values1、values2
步骤:
1、先在关系模型中去创建需要的数据
2、创建的同时取出它们的id,放在一个列表中
3、将存放id的列表直接赋给one2many字段
values = [values1,values2]
all_head_ids = []
for rec in values:
res = self.env['relationship.table'].create(rec)
all_head_ids.append(res.id)
# 返回一个头id列表给one2many字段
self.current_one2many_ids = all_head_ids
或者下面这种方式:
for rec in values:
self.current_one2many_ids +=
self.env['cms.marketing.tracking.line'].new(rec)
二、更新数据
@api.multi
def write(self, vals):
# distribute_line_ids是一个one2many字段,修改它的第一条数据
vals['distribute_line_ids'] = [(1,self.distribute_line_ids[0].id,{'company_active':True})]
return super(ResPartnerDistribution, self).write(vals)
三、删除数据
@api.multi
def write(self, vals):
# distribute_line_ids是一个one2many字段,删除它的第一条数据
vals['distribute_line_ids'] = [(2,self.distribute_line_ids[0].id)]
return super(CmsBaseDataResPartnerDistribution, self).write(vals)