2017-06-05 81 views
0

我有supply.conditionspurchase.request模型。在purchase.request我many2many關係領域:如何many2many Odoo域名過濾器

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表。我想改變SQL:

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

to many2many relation domain。

我綁做出域濾波這樣的:

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

但我得到了一個錯誤:

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

有什麼不對?我的supply.conditions模型中必須具有相同的許多關係嗎?

+0

你能更好的你想達到什麼解釋嗎?你究竟在過濾什麼,在哪裏? (例如:過濾''在M2M res.partner'場res.users') –

+0

我要過濾supply_conditions_id的這是在purchase_supply_rel表。但需要在我的supply.conditions模型樹視圖中設置此域 – fueggit

回答

0

爲了濾除Many2many字段,你可以使用

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

因此,使用域[('id', 'in', ids)]將篩選相關的對象像往常一樣

+0

我綁定[('id','in',(supply_conditions_id))]但出現錯誤:ValueError:「名稱'supply_conditions_ids'未定義」,同時評估。也許這是不可能做到的supply.conditions模型濾波... – fueggit

+0

'supply_conditions_id'應該是當前記錄的屬性 –

+0

我不明白。你能解釋一下嗎? – fueggit