2016-11-23 3 views
0

ich ein Modul in Odoo 10 mit dem folgenden Code erstellt habe das product.product Modell zu erben und die bestehende standard_price Felddefinition außer Kraft setzt es als Rechen Feld zu setzen:Inherit Modell keine Felddefinition in Odoo außer Kraft setzt 10

class ProductProduct(models.Model): 
    _inherit = 'product.product' 

    standard_price = fields.Float(
     'Cost', company_dependent=True, 
     digits=dp.get_precision('Product Price'), 
     groups="base.group_user", 
     compute='_compute_set_standard_price') 

    def _compute_set_standard_price(self): 
     ..... 
     # calculation for the value 
     ..... 
     self.standard_price = 121 #this value is an example 

Die standard_price würde auf 121 festgelegt werden, da ich die Felddefinition zu einem Compute-Feld überschreiben, aber das Feld standard_price auf 0 festgelegt ist und die Compute-Methode nicht auslösen. Dieser Code in Odoo v8 funktioniert gut.

Wie kann man eine vorhandene Felddefinition in einem geerbten Modell überschreiben?

Antwort

0

Sie haben den Decorator api.depends nicht verwendet.

@api.depends('field_1', 'field_2') 
def _compute_set_standard_price(self): 
     ..... 
     # calculation for the value 
     ..... 
     self.standard_price = 121 #this value is an example 

wenn odoo einen Datensatz erstellen oder einen Datensatz aktualisiert für berechnetes Feld überprüfen, die auf dem Feld abhängt, die in dem Wörterbuch übergeben werden, entsprechend den neuen Wert das berechnete Feld neu zu berechnen. ohne einen Trigger odoo berechnet nicht den Wert

Verwandte Themen