2017-10-05 6 views
1

One2manyフィールドとOne2manyフィールドの 'name'、 'weight'および 'price'フィールドに3つのフィールドがあります。 One2manyフィールドの複数の行から追加された 'weight'フィールドのすべての値が必要です。Odoo10のOne2manyフィールドから特定の列の値を追加する方法

私のPythonとXMLコードはここにある:

Pythonのコード:

class body_processing(models.Model): 
    _name = 'body.processing' 

    machine_weight_id = fields.One2many('machine.weight', 'machine_id', string='Weight Machine') 

class machine_weight(models.Model): 
    _name = 'machine.weight' 


@api.depends('weight','sum', 'machine_id') 
    def _onchange_amount_weight(self): 
     sum = 0.0 
     vals = 0.0 
     for line in self.machine_id: 
      vals = line.weight + line.sum 
      print"a", vals 
      line.sum = line.vals 
      print"b", line.sum 
      line.sum += line.weight 
      print"c", line.sum 

machine_id = fields.Many2one('sale.pet', string='Machine Weight', ondelete='cascade', index=True, 
          copy=False) 
pet = fields.Char() 
weight = fields.Integer() 
price = fields.Integer() 
sum = fields.Integer('SUM', change_default = True, default= _onchange_amount_weight) 

XMLコード:

答えて

0

この問題のために、私は別の関数を適用し、私が到達しました各フィールドの重みの値を印刷する。しかし、すべての行から値の重みにアクセスしてその値を追加する方法はありますか?

My機能はここにある:

@api.onchange('machine_weight_id') 
    def _onchange_amount_weight(self): 
     weight_obj = self.machine_weight_id 
     print "a:", weight_obj 
     for vals in weight_obj: 
      print"v::", vals 
      print "s", vals.weight 
      print'sum', vals.weight 
関連する問題