Wie man domain-Dynamik in OpenERP
Möchte ich einen dynamischen domain-Gleichung in der Ansicht oder im Feld definition .py.
wie
<field name="product_id" domain="[('name','in',get_names)]"/>
product_id ist ein many2one-Feld.
get_names ist die Funktion, die erstellt eine Liste der zur Laufzeit.
Zeigte einen Fehler - "name " get_names' ist nicht definiert"
Ideen.
Ich habe auch versucht, die folgenden.
'product_id': fields.many2one('mymodule.relation.model','Title',selection=get_names)
Dieser zeigt alle Einträge in mymodule.Beziehung.Modell. Das einzige, was es tut, ist zu überprüfen, wenn Wert ausgewählt/submittted von Benutzer gehört der 'get_names'.
- Kann ich wissen, auf welcher Grundlage get_names wird name erstellen ?
- Es wird die Suche nach einer anderen Tabelle zur Laufzeit & bauen, die Liste & zurück.
- Sie können die Namen in ein Feld ein und ordnen Sie die domain in den Blick.
- Was ist, wenn Ihr eine Liste wie [('name','in',get_names)] ? Wird ein char-Feld zu arbeiten ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erben die fields_view_get () - Funktion und die Verwaltung der domain-Bedingung. Bitte überprüfen Sie diese Beiträge
1 - können Sie die Funktion Feld wie diesem:
Funktion und Feld:
Und verwenden Sie den Namen des Feldes in der xml (domain-attr):
2 - Sie können 'fields_view_get':
Können Sie nicht verwenden, eine Funktion oder Methode in die domain-expression ist nur Objekt-Felder.
Es ist nicht gleichwertig, aber die nächste Sache ist, um eine Funktion erstellen Feld in der domain verwenden Ausdruck.
Als nicht wissen, Ihre genaue Anforderung .aber eine von diesen 2 kann Ihnen helfen,
http://ruchir-shukla.blogspot.in/2010/11/domains-value-depending-on-condition.html
oder überprüfen Sie die Konto-Rechnung Produkt onchange . Sie können return-Domäne aus dem onchange.