字段更改时产品添加到行

Product adds to line when field changes

我有使字段 "urgent" 为真的按钮。因此,当我按下该按钮时,我需要将产品 "services" 添加到 sale.order.line。 试图这样做但没有运气。

class SaleOrder(models.Model):
    _inherit = "sale.order"

    urgent = fields.Boolean('Urgent')

    @api.multi
    def urgent_activate(self):
        self.urgent = True

    @api.onchange('urgent')
    def urgent_onchange(self):
        if self.urgent:
            vals = {
                'name': 'test',
                'product_id': 1
            }
        self.order_line.write(vals)

您可以尝试使用以下代码:

@api.multi
def urgent_activate(self):
    self.urgent = True
    vals = {
        'name': 'test',
        'product_id': 1,
        'order_id':self.id
    }
    self.order_line.create(vals)

关于您的评论...可能是这样的

@api.multi
def urgent_activate(self):
    self.urgent = True

    for order_line in self.order_line:
        if order_line.name == 'Services':               
            vals = {
                'name': 'test',
                'product_id': 1,
                'order_id':self.id
            }
            self.order_line.write(order_line.id,vals)   

我没有测试第二部分,如果有效请告诉我