如何停止按钮调用写入功能?

时间:2017-07-21 11:09:46

标签: openerp odoo-10

我在表单和函数上创建了一个按钮,我的问题是按钮调用了我不想要的写函数,因为我想要的是它改变了另一个字段的值



    @api.multi
    def write_paid(self):
        self.state_money = "paid" 




编辑:

我的写法:



   @api.multi
    def write(self, vals):
        Initial=self.Amount
        New=vals['Amount_entered']
        res=super(Myclass, self).write(vals)
        if vals['Amount_entered'] > 0:
            vals['Amount_date'] = fields.Datetime.now()
            vals['Amount']= Initial + vals['Amount_entered']
            res=super(MedicalLab, self).write(vals)
            record=self.browse(self.ids[0])
            self.env['journal'].create({




1 个答案:

答案 0 :(得分:2)

  

设置字段readonly可能会解决您的问题。

如果它的字段不是按钮,那么您可以执行以下操作。

我认为您的要求似乎是一个字段取决于另一个字段的值。

因此,您可以管理@api.onchange方法,也可以管理@api.depends

@api.onchange('field1')
def onchange_field1(self):
    if self.field1 == "value"
        self.field2 = "Paid"
    ## add your logic.

onchange方法不会触发write方法。

Vals.get v/s vals[]