代码之家  ›  专栏  ›  技术社区  ›  Chaban33

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

  •  1
  • Chaban33  · 技术社区  · 7 年前
    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)
    

    下面是我在模块中创建数据时使用的简单创建方法。 目标是使用相同的create方法创建报价,使用相同的名称和相同的manufacture\u id。我的意思是当我创建sun时。订单我需要的是,同一时间报价将被创建。所以也许有人能给我举个例子,或者给我一个大概的想法。因为我不知道。

    class pos_quotation(models.Model):
        _name = "pos.quotation"
        name = fields.Char('Name')
        manufacture_id = fields.Many2one(
            'product.product',
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   Dayana    7 年前

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

    @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)
    

    我希望这对你有帮助。