2017-02-25 18 views
0

xx_event_idというevent.eventにリンクするmany2oneがあります。 event.eventでは、xx_weeksへのリンクを作成しました。これは、週のリストを保持する別のモデルです。そして、その週の名前は、xx_week_nameというモデルにリンクしています。many2oneでドメインを設定する方法

xx_week_nameにドメインを作成しようとしています。私がイベントを選択すると、そのイベントに含まれている週名のみを表示したいだけです。

だから私のXMLは次のようになります。

<field name="xx_week_name" domain="[('id', 'in', xx_event_id.xx_weeks.name)]"/> 

しかし、それはエラーを与える:

Uncaught Error: AttributeError: object has no attribute 'xx_weeks' 

答えて

0

ドメインではJavaScript側で実装され、あそこにあなたがOdooのスマートレコードを使用することはできません( 'ドット'表記)。あなたは何ができるか

リレーショナルフィールドを使用してドメインを設定したい場合は、以下の通りです:

1)リレーショナルフィールド week_nameから文字列として名前を「プル」します関連分野を宣言= fields.Char(related = 'xx_event_id.xx_weeks.name')

2)フィールドを不可視としてビューに挿入します。そうすれば、私たちの見解は変わらず、私たちはまだそれにアクセスすることができます。

3)リレーショナル・フィールドに動作するはずです

にフィルターを交換していますが、ドメイン内の論理エラーをした可能性があります。 [('id', 'in', xx_event_id.xx_weeks.name)]を確認してください。[('id', 'in', xx_event_id.xx_weeks.name)]のような別のものが必要な場合は、上記の例を適宜変更してください。

関連する問題