2016-06-02 21 views
1

In meiner benutzerdefinierten Anwendung möchte ich automatisch einen Datensatz in meinem benutzerdefinierten Modell erstellen, während ich einen Verkaufsauftrag erstellen.Erstellen eines Datensatzes in einem Modell beim Erstellen eines Datensatzes in einem anderen Modell in 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') 

während ein Verkaufsauftrag schafft i einen Datensatz in Demo-Modell erstellen möchten, und auch das Zeitfeld aus sale.order und speichern im Demo-Modell holen sollte. Wie kann ich das machen?

Antwort

2

Sie müssen die create Methode der sale.order Klasse überschreiben, und innerhalb dieser Methode können Sie einen Datensatz im Demomodell erstellen und auf values des aktuellen Modells zugreifen.

Zum Beispiel:

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 
Verwandte Themen