我有 supply.conditions 和 purchase.request模型。在 purchase.request 中,我有很多关系字段:
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
到many2many关系域。
我打算像这样制作域名过滤器:
[('id', '=', purchase_supply_rel.supply_conditions_id)]
但我收到了一个错误:
ValueError: "name 'purchase_supply_rel' is not defined" while evaluating
有什么问题?我的supply.conditions模型中是否必须具有相同的many2many关系?
答案 0 :(得分:0)
要过滤Many2many字段,您可以使用
<field name="m2m_field" domain="[('field', '=', True)]"/>
因此,使用域[('id', 'in', ids)]
将像往常一样过滤相关对象