2017-06-05 77 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