如何设置约束以允许最多选择 2 个字段?

How can I set a constraint to allow selecting 2 fields as maximum?

我有 4 个字段,但最多只能选择 2 个。如果选择了 3 个字段,我将需要引发 ValidationError。我怎样才能做到这一点?顺便说一句,它们可以随机选择。

field1 = fields.Boolean(string='Field 1')
field2 = fields.Boolean(string='Field 2')
field3 = fields.Boolean(string='Field 3')
field4 = fields.Boolean(string='Field 4')

@api.constrains('field1', 'field2', 'field3', 'field4')
def fields_constr(self):
    if fields ...

Python 让一切变得简单 :)

@api.constrains('field1', 'field2', 'field3', 'field4')
def fields_constr(self):
    values = [self.field1, self.field2, self.field3, self.field4]
    if values.count(True) > 2:
        raise ValidationError(
            _('You can select two options as maximum.'),
        )