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

how can I stop a button from calling the write function?

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

    @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({

Set field readonly might fix your issue.

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

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

所以你可以管理 @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[]