获取 many2one 字段 odoo 的可编辑副本

Get editable copy of a many2one field odoo

我在odoo中有两个自定义模块: segus.py(有用作信息来源的代码记录) reporte.py(使用模块segus.py中注册的字段) 我正在提取以下字段:使用 many2one 的 sCodComp 和使用 related 的字段 decrTecn 就在这里

from odoo import models, fields
class Reporte(models.Model):
    _name = 'rep.oper' 
    segus1 = fields.Many2one('segus.list','SEGUS 1', required=True)
    decrTecn = fields.Text(related='segus1.sDescr', store=True)

from odoo import models, fields
class Segus(models.Model):
    _name = 'segus.list'
    _rec_name = 'sNom'
    _description = 'Codes procedures'
    sCodComp = fields.Char('component code')
    sDescr = fields.Text('description procedures')

我想知道如何在 Reporte 模块中制作可编辑的副本 Segus.sDescr 字段,因为不得修改此原件。

谢谢

如果您需要更改值而不更改原始值,您应该使用 onchange 而不是相关字段。 试试这个:

@api.multi
    def onchange_segus1(self,segus1):
    values          = {}
        segus_obj    = self.env['segus.list']
    if segus1:
        data = segus_ob.browse(segus1).sDescr
        values  = {
            'decrTecn' : data       
        }
    return {'value': values} 

并在 xml 中添加: on_change="onchange_get_all_mark(segus1)",在字段 segus1