2017-06-05 1 views
0

私はを持っています.Conditions購入。リクエストモデルhow many2manyオドードメインフィルタ

supply_ids = fields.Many2many(comodel_name='supply.conditions', relation='purchase_supply_rel', column1='purchase_requests_id', column2='supply_conditions_id',string='Supply Conditions') 

でsupply.conditions私はsupply.conditions idはpurchase_supply_relテーブルにあることを確認するためにドメインフィルタを追加する必要がありモデル:purchase.requestでは、私はmany2many関係フィールドを持っています。私はSQLを変更したい:

select * from supply_conditions a 
inner join purchase_supply_rel b 
on a.id = b.supply_conditions_id 

多くの2Many関係のドメイン。

私はそのようなドメインフィルタ作るために結ば:

[('id', '=', purchase_supply_rel.supply_conditions_id)] 

をしかし、私はエラーました:間違って何

ValueError: "name 'purchase_supply_rel' is not defined" while evaluating 

を?私は私のsupply.conditionsモデルで同じmany2many関係を持たなければならないのですか?

+0

いつものように関連するオブジェクトをフィルタリングします使用して

<field name="m2m_field" domain="[('field', '=', True)]"/> 

を使用することができますか?何を正確にフィルタリングしていますか? (例: 'res.partner' m2mフィールドに' res.users'をフィルタリングしています) –

+0

purchase_supply_relテーブルにあるsupply_conditions_idをフィルタリングします。しかし、私のsupply.conditionsモデルツリービューでこのドメインを設定する必要があります。 – fueggit

答えて

0

Many2manyフィールドをフィルタリングするために、あなたはあなたがあなたが達成したいものを私をもっとよく説明でき、ドメイン[('id', 'in', ids)]

+0

評価中に[( 'id'、 'in'、(supply_conditions_id))]エラーが発生しました:ValueError: "name 'supply_conditions_ids'が定義されていません。おそらく、supply.conditionsモデルでフィルタリングを行うことはできません... – fueggit

+0

'supply_conditions_id'は現在のレコードの属性であるべきです –

+0

私は分かりません。あなたは説明できますか? – fueggit