2017-11-22 19 views
0

私はodooに2つのカスタムモジュールを持っています: segus.py(情報のソースとしてコードのレコードを持っています) reporte.py(モジュールsegusに登録されているフィールドを使用してください。 PY) 私は、次のフィールドを抽出しています:sCodCompはmany2oneを使用して、フィールドdecrTecnは、すべての権利many2oneフィールドの編集可能なコピーodoo

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') 

ここまで関連を使用して、私はSegusのReporteモジュール で編集可能なコピーを作成する方法を知りたいです.sDescrフィールドは変更しないでください。

おかげ

答えて

1

あなたが変更元の値なしで値を変更する必要がある場合は、の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に追加します: これを試してみてくださいあなたの答えをありがとう、フィールドsegus1

+0

_helloリナルディ星で、 on_change = "onchange_get_all_mark(segus1)"、私はあなたが提案したが、今何を行っていますそれはサーバーにこのエラーが表示されます、私は本当に何が期限であるのか分かりません。_ '> /home/odoo/odoo-dev/odoo/odoo/models.py(5422)_onchange_eval()' ' - > method_res = getattr(self._origin、method)(* params) ' '(Pdb)2017-11-24 20:12:24,315 2781情報? werkzeug:ip_address - - [24/Nov/2017 20:12:24] "GET /web/static/src/img/form_sheetbg.png HTTP/1.1" 304 -' '2017-11-24 20:12:26,850 2781情報? werkzeug:ip_address - - [24/Nov/2017 20:12:26] "/web/static/src/img/spin.png HTTP/1.1を取得" 304 -' _Thank You_ –