2016-12-29 6 views
0

Hallo an all und vielen Dank für die Zeit nehmen, meine Frage zu lesen:Co abhängige Felder in Odoo 9.0 Ansicht

Ich brauche zwei Felder auf sich Änderungen in meiner Ansicht aktualisieren zu machen, die einen von ihnen Liste der Zutaten sagen lassen und die anderen Listen Nahrungsbedarf

requirements = fields.Selection([(0,"Vegan"),(1,"Lactose intolerant")]) 
ingredients_id = fields.Many2Many(comodel_name="sample.ingredients") 

Was ich brauche, ist ingredients_id ‚s Domain zu aktualisieren nur diejenigen, die einen requirement und umgekehrt passen zu zeigen, wenn Sie das andere Feld und Zutat happend die richtige requirement Auswahl. Ich denke darüber nach, Feld A ein berechnetes Feld abhängig von Feld B zu erstellen und dann ein on_change zu Feld B hinzuzufügen, das Feld A aktualisiert. Aber ich bin mir ziemlich sicher, dass das zu einer Art Endlosschleife führen wird. Ist das meine einzige Option oder fehle ich etwas obviuos?

Antwort

1

Verwenden Sie den @ api.depends-Dekorator und übergeben Sie beide Felder als Parameter im Decorator. Dies löst die Funktion bei jeder Änderung beider Werte aus und hängt voneinander ab.

@api.depends('requirements','ingredients_id') 
def function (self): .... 
    do something.... 
    return 
+0

Würde mich das nicht zurück in die "mögliche Endlosschleife Situation" bringen? Wenn ich das Feld "A" ändere und das Feld "B" einen neuen Wert berechnet, der die Berechnung eines neuen Feldes "A" auslösen würde, usw. – yorodm

+0

Nein, das Verwenden separater Funktionen wird das nicht tun. –

+0

Ich habe eine Problemumgehung in meiner Lösung gefunden, die nicht mehr benötigt, damit diese Felder co-abhängig sind. Danke für Ihre Antworten – yorodm

Verwandte Themen