我有一个one2many计算字段,我也希望用户能够添加新的记录行。我添加了一个反向字段,但它唯一能做的就是允许修改现有的记录
@api.one
def accumulate_files(self):
documents = self.env['document.customer']
document_gotten = documents.search([('name','=', self.name)])
for docs in document_gotten:
self.res_line_ids |= docs.customer_line_ids
@api.one
def edit_accumulate_files(self):
documents = self.env['document.customer']
for lines in documents.customer_line_ids:
lines.write(self.res_line_ids)
答案 0 :(得分:0)
我做了一个解决方法,不知道如何在新的API中获得one2many字段的值,就像在旧的api中一样。但它适用于我
@api.multi
def _save_telefone(self):
for partner in self:
for phone in partner.phone_number_ids:
try:
# write on exisiting record
int(phone.id)
# write all possible values
phone.write({'partner_id': partner.id})
except:
# create new record with all possible values
phone.create({
'partner_id': partner.id,
'type_id': phone.type_id.id,
'status_id': phone.status_id.id,
'sequence': phone.sequence,
'graph_value': phone.graph_value,
'name': phone.name,
})
return True
基本上,如果记录不存在则创建一条记录,否则写入记录。 如何知道DB中是否存在记录?如果ID已经是整数 存在,否则它将具有类似“odoo.model.NewID”的ID 这意味着尚未分配ID尚未记录在内存中。