如何在ODOO中创建自定义对象?

时间:2017-09-01 09:08:04

标签: python openerp odoo-10 erp

有没有办法在onchange触发后创建一些新模型?

例如,我想在报价状态更改为销售订单后创建自定义报表对象。

2 个答案:

答案 0 :(得分:2)

我通过尝试覆盖sale.confirm的sale.order方法来解决这个问题,并且它已经工作了!

class sale_order(models.Model) :
     _inherit = 'sale.order'
     job_container = fields.One2many('job.container','order')

     @api.multi
     def action_confirm(self):
            super(sale_order, self).action_confirm()
            self.env['job.container'].create({
                'order': self.id
            })

答案 1 :(得分:1)

您可以使用装饰器sales.order 在方法内的@api.onchange('state')内使用以下代码创建模型的新实例:

   report_model = self.env['my.custom.report.object']
   new_report_object = report_model.create({
         'report_message': 'Quotation changed state to Sales Order'
   })