2016-04-18 7 views
0

Ich arbeite mit dem Objekt product.product. Es hat ein Feld namens qty_available, das die verfügbare Menge des Produkts auf Lager angibt, wie der Name sagt.Wie führe ich eine bestimmte Funktion aus, wenn ein Feld in Odoo 8 geändert wird?

Normalerweise würde ich einen @api.depends('qty_available') Dekorator zu der Methode hinzufügen, die ich ausführen möchte. Aber ich denke, diese Methode wird nur ausgeführt, wenn ich ein berechnetes Feld erstelle, das sie aufruft. Das Problem ist, dass das Feld qty_available aus vielen verschiedenen Ansichten geändert werden kann, und es wäre sehr unangenehm, jede dieser Ansichten zu ändern, um das berechnete Feld hinzuzufügen.

Gibt es eine Möglichkeit, dies richtig zu tun?

Antwort

2

Wenn Sie dies beim Schreiben und nicht beim Erstellen tun müssen, können Sie die Schreibfunktion neu definieren und prüfen, ob dieses Feld geschrieben wird.

da values ​​ein Wörterbuch mit den Feldern enthält, die geändert werden, wird es nur ausgeführt, wenn qty_available geändert wurde. Passen Sie auf, da dies nicht funktioniert, wenn qty_available ein Funktionsfeld ist. In diesem Fall sollten Sie diese Funktion überschreiben.

+1

Ich suchte nach komplexen Möglichkeiten und ich dachte nicht über eine einfache ORM überschreiben, das ist die beste Problemumgehung. Vielen Dank! – forvas

+0

froh, Ihnen zu helfen – dccdany

Verwandte Themen