2016-11-27 4 views
0
にone2manyフィールドにフィルタを適用 ここ

はメインモデルDynamicly私はボタンをクリックするか、別のフィールドに</p> <p>を変更したときに、私は、私は別の技術では数十倍を試してみましたが、それは</p> 動作しないone2manyツリーに示されているレコードをフィルタリングする必要が<p>Odoo

current_exercise = 'exercise 1' 

generalFitnessDetails = One2many("spogaze.general_fitness_details", "generalFitnessDetails",          domain=[('exercise', '=', '%s' % current_exercise)]) 

で表現し、詳細なモデルで

第一の問題点を把握するための最後の試みでありますO2Mフィールドには、私は、フィルタを適用する必要がある「運動」フィールドは、私が「current_exercise」の値を変更する機能を追加したメインモデルでそれに

を依存しており、

@api.one 
def next_exercise(self): 
     self.current_exercise = 'exercise 2' 

     return {'domain': {'generalFitnessDetails': [('exercise', '=', self.current_exercise)]}} 

が、何が起こるのフィルタを適用しますボタンをクリックする前にO2Mフィールドの作成に記載されている最初のフィルタが適用されていますが、ボタンをクリックした後に "current_exercise"フィールドは変更されますがフィルタは適用されません

答えて

0

私の意見では、これを達成する。そして、その関連分野に基づいてドメインを書く

'current_exercise' = field.Type(related="many2one_field.current_exercise", 
           string="your string") 

-

は次のように、one2manyモデルに関連するフィールドを作成します。

+0

メインモデルではなく、詳細モデルでこのフィールドを作成する必要があるのですか?current_exerciseフィールドは、メインモデルのone2manyツリーをフィルタリングするフラグです。 –

+0

はい、ディテールモデルです。それがフラッグであれば、その必要はありません。メイン・フィールドの関連フィールドを作成し(メイン・モデルから)、詳細モデル・フィールド(関連するもの)を使用して、必要に応じてフィルタリングします。 –

+0

残念ながら、うまくいきません。ユーザーがボタンをクリックしたときにフィルタを適用して、フィルタを適用するコードが必要になることが考えられます –

関連する問題

 関連する問題