2016-06-02 12 views
1

私のカスタムアプリケーションでは、カスタムモデルでレコードを自動的に作成したいと思います。odooの別のモデルでレコードを作成中にモデルにレコードを作成する方法

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から時間フィールドをフェッチし、デモモデルに保存するべきです。どうやってやるの?

答えて

2

sale.orderクラスのcreateメソッドをオーバーライドする必要があります。このメソッド内では、デモモデルでレコードを作成し、現在のモデルの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 
関連する問題