一个创建方法2个单独的模型

时间:2017-10-16 14:20:03

标签: openerp odoo-9 odoo-10

class SunOrder(models.Model):

    _name = 'sun.order'
    manufacture_id = fields.Many2one(
    'product.product',

     @api.model
     def create(self, vals):
        Sequence = self.env['ir.sequence']
        vals['name'] = Sequence.next_by_code('sun.order')
        return super(SunOrder, self).create(vals)

这是我在模块中创建数据时使用的简单创建方法。 目标是使用相同名称和samemanufacture_id的相同CREATE方法创建报价。我的意思是当我创建sun.order时,我需要创建相同的时间报价。所以也许有些人可以给我一些例子或一般的想法如何做到。因为我不知道。

class pos_quotation(models.Model):
    _name = "pos.quotation"
    name = fields.Char('Name')
    manufacture_id = fields.Many2one(
        'product.product',

1 个答案:

答案 0 :(得分:1)

您可以按如下方式重写您的创建方法:

@api.model
def create(self, vals):
    Sequence = self.env['ir.sequence']
    vals['name'] = Sequence.next_by_code('sun.order')
    #set your pos_quotation dictionary
    vals_quot = {'manufacture_id': vals['manufacture_id'],
                #... other fields for pos.quotation model
                } 
    self.env['pos.quotation'].create(vals_quot)
    return super(SunOrder, self).create(vals)

我希望这对你有所帮助。