如何在odoo中的另一个模型中创建记录时在模型中创建记录

时间:2016-06-02 06:48:02

标签: python odoo-8

在我的自定义应用程序中,我想在创建销售订单时自动创建自定义模型中的记录。

    class custom_sale_order(models.Model):
        _inherit='sale.order'

        time1 = fields.Date('TIme1')
        time2 = fields.Date('TIme2')

    class demo(models.Model):   
        name = 'demo'

        time3 = fields.Date('TIme1')
        time4 = fields.Date('TIme2')

当销售订单正在创建时,我想在演示模型中创建记录,还应该从sale.order获取时间字段并保存在演示模型中。我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

您需要覆盖create类的sale.order方法,在此方法中,您可以在演示模型中创建记录并访问当前模型的values

例如:

class custom_sale_order(models.Model):
    _inherit='sale.order'

    time1 = fields.Date('TIme1')
    time2 = fields.Date('TIme2')

    @api.model
    def create(self, values):
        # here we call to the parent create method
        res = super(custom_sale_order, self).create(values)

        # here we create a record in the demo model
        # and we can access to the values of the current model
        self.env['demo'].create({
            'time3': values['time1'],
            'time4': values['time2']
        })

        return res