我正在尝试限制在* 2many字段中可以选择的特定数量的记录。此限制由另一个字段定义。
我已经定义了我想要限制的字段:
max = fields.Integer('Max partners')
partner_ids = fields.Many2many(comodel_name='res.partner', relation='my_model_partners', column1='mymodel_id', column2="partner_id")
首先我尝试了这个:
<field name="partner_ids" options="{'limit': max}" widget="many2many"/>
但我可以选择超过max
个合作伙伴但没有任何反应。第二,我尝试定义constraint
以限制partner_ids
的数量:
@api.one
@api.constrains('partner_ids')
def _check_limit(self):
if len(self.partner_ids)>=self.max:
raise ValidationError("Max number of partners")
这有效,但只有在保存记录时它才会引发错误,但我想要的是限制可以选择的记录数,因此我不能为{{max
选择partner_ids
条记录。 1}}字段。