2017-09-01 53 views
1

有没有办法在onchange触发后创建一些新模型?如何在ODOO中创建自定义对象?

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

+2

你是什么意思“创建自定义报告对象”? –

+0

这意味着我在模块中创建的“新”模型。我想补充一下,在引用状态转换之后。 – ReiiYuki

+0

你到目前为止尝试过什么?请你分享你的努力在你的问题。 –

回答

2

我解决了试图通过覆盖action_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

你可以在里面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' 
    }) 
+0

我试过这种方式,但是,没有什么叫,但现在我得到了解决方案。 – ReiiYuki

+0

你说得对,我没有执行代码来测试。由于状态在后端/而不是在视图中被更改 - onchange函数未被触发。我改变了我的答案,不要错过其他用户。谢谢! – IstaLibera